Существует множество способов создания и обслуживания.
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
.
теперь создайте файл start.sh
, в котором находится server.js
.
start.sh
#!/bin/bash
yarn build && node ./server.js
вы можете запустить это с помощью pm2 start start.sh --name <APP NAME>
, и он создаст и запустит server.js.
* ПРИМЕЧАНИЕ: этот последний процесс, т. Е. Со сборкой пряжи, может быть невозможенв тех случаях, когда процессор или ресурсы очень малы, например, если вы используете t.micro
или что-то еще.