Пожалуйста, проверьте do c, который я выполняю для своих собственных развертываний WebApp.
Build & Deploy
- Run
yarn build
для производственной сборки. Он создаст папку /dist
, которая является производственной сборкой. - Откройте файл
/dist/index.html
и обновите путь всех ресурсов из - Создайте сервер Express JS для обслуживания вашей производственной сборки
touch server.js
. - На сервере. js, скопируйте / вставьте следующий код:
const express = require('express');
const path = require('path');
const port = process.env.PORT || 8080;
const app = express();
app.use(express.static(path.join(__dirname, '/dist')));
app.get('/*', function (req, res) {
res.sendFile(path.join(__dirname, '/dist', 'index.html'));
});
app.listen(port);
Перед производственным тестированием Build dist
на локальном компьютере с помощью node server.js
и проверьте с localhost с помощью PORT
- В вашем пакете. json file, измените стартовый скрипт на следующее: на
start: "node server.js"
. - Remove
"start": "cross-env ESLINT=none roadhog dev"
& "precommit": "npm run lint-staged"
(только для производства pu sh добавить его обратно для разработки). - Открыть
.gitignore
файл добавить следующий код:
#.gitignore
src/*
public/*
и удалить /dist
(только для производства добавьте его обратно для разработки) из файла .gitignore. Это будет только pu sh производственной сборки на сервер, а не все файлы.