Я пытаюсь создать приложение pwa
с reactjs
(cra
). Моя первая реализация будет push
/ notification
из pwa
. Теперь я прочитал рекомендацию, что тестирование всегда должно выполняться, когда приложение было собрано с помощью npm run build
. До сих пор я обнаружил, что уведомление для клиентов (push
) обрабатывалось сервером node.js
. Также я новичок с node.js
сервером. Мне удалось разделить сервер и клиентскую область в одном проекте и запустить оба (приложение на порт 5000 и сервер на порт 5001) одновременно с помощью команды npm start
.
Я реализовал сервер в подпапке "сервер" в проекте.
В моем файле package.json
я ввел прокси, чтобы приложение узнало, на каком порту работает сервер.
"proxy": "http://localhost:5001/"
Теперь у меня вопрос, как запустить сервер, если вы создали приложение через npm run build
. Я уже пробовал это с командой serve -s build
и дополнительно с другим окном команд через node index.js
.
Однако приложение не распознает прокси в файле package.json
и пытается отправить данные на тот же порт, что приводит к сообщению об ошибке 404
. Возможно, это вопрос новичка, но пока я не смог найти ничего подходящего.
Пожалуйста, смотрите мой package.json
файл, если он полезен.
{
"name": "pwa",
"version": "0.1.0",
"private": true,
"dependencies": {
"dotenv": "^6.2.0",
"react": "^16.8.4",
"react-dom": "^16.8.4",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.8",
"typescript": "^3.3.3333",
"web-push": "^3.3.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"server": "node-env-run server --exec nodemon | pino-colada",
"dev": "run-p server start"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"description": "PWA",
"main": "index.js",
"devDependencies": {
"body-parser": "^1.18.3",
"express": "^4.16.4",
"express-pino-logger": "^4.0.0",
"node-env-run": "^3.0.2",
"nodemon": "^1.18.10",
"npm-run-all": "^4.1.5",
"pino-colada": "^1.4.4"
},
"keywords": [],
"author": "",
"license": "ISC",
"proxy": "http://localhost:5001/"
}