运行react和节点

时间:2017-10-21 17:29:45

标签: node.js reactjs

我必须为应用程序创建前端。其他人使用节点创建了后端。我总是使用create-react-app创建我的项目,但是,由于后端已经创建,包括模块,路由,数据库等,我无法使用此命令创建项目,所以我安装了所有项目独立包装。这是我的package.json:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build-css": "node-sass-chokidar client/ -o client/",
    "watch-css": "npm run build-css && node-sass-chokidar client/ -o client/ --watch --recursive",
    "start-js": "react-scripts start",
    "build": "npm run build-css && react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "start": "npm-run-all -p start-node watch-css start-js",
    "start-node": "node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "axios": "^0.16.2",
    "body-parser": "^1.18.2",
    "bulma": "^0.6.0",
    "express": "^4.16.2",
    "mongoose": "^4.12.3",
    "morgan": "^1.9.0",
    "q": "^1.4.1",
    "react": "^16.0.0",
    "react-dom": "^16.0.0",
    "react-router": "^4.2.0",
    "react-router-dom": "^4.2.2",
    "react-scripts": "^1.0.14"
  },
  "devDependencies": {
    "node-sass-chokidar": "0.0.3",
    "npm-run-all": "^4.1.1",
    "sass": "^1.0.0-beta.2"
  }
}

start-js存在问题,因为节点已经在端口3000上运行,并且还需要运行。如何同时运行?

1 个答案:

答案 0 :(得分:1)

简短的回答是更改node.js应用程序的端口,或者在你的反应应用程序中启动npm start。

更长的答案是您控制应用程序运行的端口,通常是您运行节点服务器的位置。您的react应用程序是纯HTML应用程序,因此从理论上讲,您可以使用任何Web服务器来提供它。这是我使用的一个很棒的工具,叫做http-serve。您可以使用npm install http-serve -g全局安装它。默认情况下,这将在端口8080中为您的react应用程序提供服务,您可以控制在其下为其提供服务的端口。因此,基本上转到您的构建文件夹,然后运行http-serve或您的index.html存在于您的反应应用程序中。