PWA-CRA-Node.js-构建后如何同时运行应用程序和服务器

时间:2019-03-10 15:35:24

标签: node.js reactjs create-react-app progressive-web-apps

我正在尝试使用pwareactjs)构建一个cra应用。我的第一个实现将是push中的notification / pwa。现在,我已经阅读了建议,应该始终在通过npm run build构建应用程序时进行测试。到目前为止,我发现,通过push服务器处理了向客户端(node.js)的通知。另外,我还是node.js服务器的初学者。我设法在一个项目中将服务器和客户端区分开,并通过命令npm start同时运行两者(端口5000上的App和端口5001上的Server)。

我在项目的子文件夹“服务器”中实现了服务器。

在我的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/"
}

0 个答案:

没有答案