大佬教程收集整理的这篇文章主要介绍了浏览器打开时启动 expressjs 服务器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个基本的 Expessjs 服务器,可以用 npm start
运行它。我也可以使用 npm run build
构建它。这样,dist/main.Js
文件创建。当我打开 index.HTML 时,我希望我的 expressjs 服务器运行。但是,打开 index.HTML 时会发生以下错误。我不需要 es5 兼容性。所以,不要使用 babel。
谢谢
当我更改为 target: ['web'],
时,会出现 32 个回退错误;
我的用例合理吗?如果是,怎么做?
细节是这样的;
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,请注明来意。