我必须为应用程序创建前端。其他人使用节点创建了后端。我总是使用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上运行,并且还需要运行。如何同时运行?
答案 0 :(得分:1)
简短的回答是更改node.js应用程序的端口,或者在你的反应应用程序中启动npm start。
更长的答案是您控制应用程序运行的端口,通常是您运行节点服务器的位置。您的react应用程序是纯HTML应用程序,因此从理论上讲,您可以使用任何Web服务器来提供它。这是我使用的一个很棒的工具,叫做http-serve。您可以使用npm install http-serve -g全局安装它。默认情况下,这将在端口8080中为您的react应用程序提供服务,您可以控制在其下为其提供服务的端口。因此,基本上转到您的构建文件夹,然后运行http-serve或您的index.html存在于您的反应应用程序中。