Получил это на работу. Хотя я бы предложил перейти на мой fullstack-mern-kit , но вам решать.
В любом случае, выполните следующие действия ...
В package.json
изменить scripts
на:
"scripts": {
"dev": "webpack-dev-server --config ./webpack.config.js --mode development",
"build": "webpack --mode=production",
"start": "node ./server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
В вашей папке dist
добавьте index.html
(вам также необходимо включить <link>
в скомпилированную таблицу стилей css
):
<!DOCTYPE html>
<html>
<head>
<title>The Minimal React Webpack Babel Setup</title>
</head>
<body>
<div id="app"></div>
<script src="./bundle.js"></script>
</body>
</html>
В вашем файле server.js
переработайте его так:
const express = require("express");
const app = express();
const { resolve } = require("path");
app.get("/sampleData", (req, res) => {
res.send("sample data");
});
app.use(express.static("dist"));
app.get("*", (req, res) => res.sendFile(resolve("dist", "index.html")));
app.listen(8080);
Запустите npm run build
, затем npm start
, затем перейдите к http://localhost:8080
.