Я совершенно новый для развертывания интерфейсного кода и, следовательно, вопроса. У меня есть приложение React, которое мне нужно запустить как фоновый процесс, однако я немного смущен о том, как это сделать. Я запускаю npm script
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. Как это сделать на рабочем сервере и запускать его как фоновый процесс, так что даже если я выйду из терминала, приложение продолжит работу. Я проверил эту проблему, Как сделать приложение node.js работать постоянно?
Но это файл javascript как точка входа, в моем случае это html файл. Я не уверен, как мне изменить свои скрипты, чтобы запустить приложение-интерфейс навсегда как фоновый процесс. Любая помощь была оценена.