我对部署前端代码和问题完全陌生。我有一个需要作为后台进程运行的 React 应用程序,但是我对如何执行此操作感到有些困惑。我运行一个 npm 脚本
npm run build
在服务器上构建、缩小和提供项目。构建过程的相关代码是这样的。
"prebuild": "npm-run-all clean-dist test lint build:html",
"build": "babel-node tools/build.js",
"postbuild": "babel-node tools/distServer.js"
这是 distServer.js 里面的代码
import express from 'express';
import path from 'path';
import open from 'open';
import compression from 'compression';
const port = 3000;
const app = express();
app.use(compression());
app.use(express.static('dist'));
app.get('*', function(req, res){
res.sendFile(path.join(__dirname, '../dist/index.html'));
});
app.listen(port, function(err){
if(err){
console.log(err);
}else{
open(`http://localhost:${port}`);
}
});
这有效并且项目运行,但是当我关闭终端时,项目停止。构建过程创建了三个文件,
index.html
index.js
styles.css
现在,如果我导航到 index.html 并在浏览器中打开它,但很自然地,什么也没有显示。所以我假设我必须将它作为节点进程运行。我如何在生产服务器上执行此操作并将其作为后台进程运行,以便即使我退出终端应用程序继续运行。我已经检查过这个问题, 如何使 node.js 应用程序永久运行?
但这有一个 javascript 文件作为入口点,在我的情况下它是一个 html 文件。我不确定如何修改我的脚本以将前端应用程序永久运行为后台进程。任何帮助表示赞赏。