我完全不了解如何部署前端代码,所以有以下问题。 我有一个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文件。我不确定如何修改我的脚本,以便将前端应用程序永久地作为后台进程运行。任何帮助都将不胜感激。