有很多构建和服务的方法。
pm2 serve 提供静态文件服务。
命令是pm2 serve ./build <PORT>
并检查您是否提供了它应该服务的文件夹路径[即此处的./build]。
确保你已经完成了yarn build。
方式 1
我猜你是从./build 目录提供的。
它主要包含静态文件,
所以你可以做的是,让我们创建一个简单的快速服务器,它可以提供来自./build的文件
将此文件添加到您的项目目录中:
server.js
const express = require("express");
const path = require("path");
const app = express();
app.use(express.static(path.join(__dirname, "build")));
app.get("/*", function(req, res) {
res.sendFile(path.join(__dirname, "build", "index.html"));
});
const PORT =process.env.FRONT_PORT || 9000;
app.listen(PORT,()=>{
console.log('listning at :' + PORT)
});
如您所见,在上面我使用了express.js,您也必须安装它(npm i express -S)。
现在,您只需转到项目目录,然后像这样启动您的应用程序:
pm2 start server.js --name <NAME OF THE AP>
确保在开始使用此 abve 命令之前,使用 yarn build 进行构建,这将创建一个构建目录,我们在 server.js 中使用它。
方式 2
按照上述步骤添加server.js。
现在让yarn build 也自动化。
现在在server.js 所在的位置创建一个start.sh 文件。
start.sh
#!/bin/bash
yarn build && node ./server.js
您可以通过pm2 start start.sh --name <APP NAME> 运行它
它将构建并运行 server.js。
*注意:在 cpu 或资源非常低的情况下,如使用 t.micro 或其他东西,这最后一个过程(即使用 yarn 构建)可能是不可能的。