我為一個嘗試學習 MERN 堆疊的簡單 Web 應用程式創建了一個結合了服務器 (Node.js) 和 UI (React) 的 Github 專案。該應用程式構建良好,Heroku 也開啟了“Up”狀態。我曾嘗試將應用程式部署到 Heroku,但奇怪的是我只看到渲染的服務器端組件。ui 沒有出現。你對我做錯/失蹤的事情有什么建議嗎?
檔案夾結構:
.
|- package.json
|- server/
| |- src/
| |- package.json
| |- tsconfig.json
|- ui/
| |- src/
| |- package.json
| |- tsconfig.json
我的檔案的相關內容如下:
./package.json
{
"scripts": {
"build": "cd ui/ && npm install && npm run build",
"start": "cd server/ && npm install && npm start"
},
}
./server/package.json
{
"main": "src/server.ts",
"scripts": {
"clean": "rimraf build",
"build": "npm run clean && tsc",
"start": "npm run build && node build/server.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
}
./ui/package.json
{
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
}
uj5u.com熱心網友回復:
您不能簡單地將包含前端和后端應用程式的單體存盤庫推送到 Heroku。
部署 Node.js 應用程式時,Heroku需要一個啟動腳本來package.json執行單個行程。在您的情況下,這通過使用啟動 ExpressJS 服務器./server/package.json。這很好,但是你不能同時啟動你的 React 應用程式。
你可以做的是從 ExpressJS 服務器為你的 React 應用程式提供服務。步驟是:
- 使用腳本自定義 Heroku 構建程序
heroku-postbuild,以將 React 代碼構建到稍后提供它的位置 - 設定一個中間件,從您指定為構建位置的位置靜態地為您的 React 應用程式提供服務
app.use(express.static(path.resolve(__dirname, "./client/build")));
有關更多詳細資訊,請閱讀這篇文章。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/495621.html
上一篇:Xamarin中的scoolview出現問題,沒有列印資料。當我在應用程式作業時重新輸入ItemsSource(Persons)時它作業
