2017-10-21 104 views
0

我必須爲應用程序創建前端。其他人使用節點創建後端。我一直使用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" 
    } 
} 

有與啓動JS,因爲節點已飛奔在端口3000和反應需要運行也有問題。我怎樣才能讓兩者同時運行?

+0

[''併發'](https://www.npmjs.com/package/concurrently)?你讀過例如https://stackoverflow.com/questions/30950032/how-can-i-run-multiple-npm-scripts-in-parallel,或做過任何其他研究? – jonrsharpe

+0

我做過研究,實際上發佈了答案,因爲我沒有發現任何能夠真正解決我的問題(或者我對此事理解正確)。我沒有看到你發給我的答案,但我很感激 – KeOt777

回答

1

簡短的回答是更改node.js應用程序的端口,或者當您在反應應用程序中執行npm start時。

較長的回答是,您控制應用程序運行的端口,通常在您運行節點服務器的位置。您的反應應用程序是純粹的html應用程序,因此從理論上講,您可以使用任何Web服務器來提供它。這是一個我稱之爲http-serve的好工具。您可以使用npm install http-serve -g來全局安裝它。這將默認爲8080端口上的反應應用程序提供服務,並且您可以控制要爲其提供服務的端口。所以基本上去你的build文件夾,然後運行http-serve或你的index.html存在於你的反應應用程序中。

+0

謝謝,在討論react-scripts路徑(因爲這也爲我創建了一個單獨的問題)之後,我能夠運行反應應用程序不同的端口。謝謝! – KeOt777