程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了浏览器打开时启动 expressjs 服务器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决浏览器打开时启动 expressjs 服务器?

开发过程中遇到浏览器打开时启动 expressjs 服务器的问题如何解决?下面主要结合日常开发的经验,给出你关于浏览器打开时启动 expressjs 服务器的解决方法建议,希望对你解决浏览器打开时启动 expressjs 服务器有所启发或帮助;

我有一个基本的 Expessjs 服务器,可以用 npm start 运行它。我也可以使用 npm run build 构建它。这样,dist/main.Js 文件创建。当我打开 index.HTML 时,我希望我的 expressjs 服务器运行。但是,打开 index.HTML 时会发生以下错误。我不需要 es5 兼容性。所以,不要使用 babel。

谢谢

浏览器打开时启动 expressjs 服务器

当我更改为 target: ['web'], 时,会出现 32 个回退错误;

浏览器打开时启动 expressjs 服务器

我的用例合理吗?如果是,怎么做?

细节是这样的

src/server.Js

const express = require("express");
const path = require("path");
const bodyParser = require('body-parser');

const app = express();

app.use(function (req,res,next) {
    res.header("Access-Control-Allow-Origin","*"); // update to match the domain you will make the request from
    res.header(
        "Access-Control-Allow-headers","Origin,X-requested-With,Content-Type,Accept"
    );
    next();
});

app.get("/API/Ping",(request,responsE) => {
    console.log("❇️ Received GET request to /API/Ping");
    response.Json({ reply: "GET pong!" });
});

app.post("/API/Ping",responsE) => {
    console.log("❇️ Received POST request to /API/Ping");
    response.Json({ reply: "POST pong!" });
});

// Express port-switching logic
let port = 3001;

// Start the Listener!
const Listener = app.Listen(port,() => {
    console.log("❇️ Express server is running on port",Listener.address().port);
});

package.Json

{
  "name": "webpack-basic","version": "1.0.0","description": "","private": "true","scripts": {
    "build": "webpack","start": "node src/server.Js"
  },"keywords": [],"author": "","license": "ISC","devDependencIEs": {
    "webpack": "^5.28.0","webpack-cli": "^4.6.0"
  },"dependencIEs": {
    "body-parser": "^1.19.0","express": "^4.17.1"
  }
}

webpack.config.Js

const path = require("path");
const webpack = require("webpack");

module.exports = {
    target: ['node'],entry: "./src/server.Js",output: {
        path: path.resolve(__dirname,"dist"),filename: "main.Js",},};

dist/index.HTML

<body>
    <div ID="root" />
    <script src=" ./main.Js "></script>
</body>

解决方法

不,不幸的是,您的用例不合理。您正在尝试在浏览器中运行 Nodejs 服务器。

另一种方法是有效的,您必须运行服务器才能显示 index.html 文件。您需要向 server.js 文件添加新的路由处理程序,以将所有其他请求指向 index.html 文件(或者您可以 use a template ENGIne):

const path = require('path');
...

app.get("/api/ping",(request,responsE) => {
    console.log("❇️ Received GET request to /api/ping");
    response.json({ reply: "GET pong!" });
});

app.post("/api/ping",responsE) => {
    console.log("❇️ Received POST request to /api/ping");
    response.json({ reply: "POST pong!" });
});

app.use((req,res) => {
  res.sendFile(path.join(__dirname,'./index.html'));
});

...

大佬总结

以上是大佬教程为你收集整理的浏览器打开时启动 expressjs 服务器全部内容,希望文章能够帮你解决浏览器打开时启动 expressjs 服务器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:服务器