專案的檔案夾結構。
├── backend
│ ├── node_modules
│ ├── package.json
│ ├── server.js
├── dist (or build)
├── node_modules
├── package.json
└── .gitignore
在根目錄package.json中,我有npm startform npm start --prefix backend。而且,它在本地運行沒有任何問題。但是,在生產部署中,backend->server.js沒有執行,并且正在獲取error. 我正在使用Heroku.
根目錄package.json:
"scripts": {
"postinstall": "npm run build",
"start": "npm start --prefix backend"
}
完整的錯誤日志:(Heroku 日志)

2022-03-21T01:14:52.785313 00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2022-03-21T01:14:52.785314 00:00 app[web.1]: requireStack: [ '/app/backend/server.js' ]
2022-03-21T01:14:52.785314 00:00 app[web.1]: }
2022-03-21T01:14:52.942884 00:00 heroku[web.1]: Process exited with status 1
2022-03-21T01:14:53.029096 00:00 heroku[web.1]: State changed from starting to crashed
2022-03-21T02:16:42.915574 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/products" host=vue-buymore.herokuapp.com request_id=4792b07e-634e-4ab0-8091-0beb36ee7015 fwd="103.23.206.57" dyno= connect= service= status=503 bytes= protocol=https
2022-03-21T04:46:18.153390 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=OPTIONS path="/profile/1" host=vue-buymore.herokuapp.com request_id=d5cae2ff-6849-4ac8-8af2-d5cd86fb1e74 fwd="103.23.206.57" dyno= connect= service= status=503 bytes= protocol=https
2022-03-21T04:46:18.157274 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=OPTIONS path="/products" host=vue-buymore.herokuapp.com request_id=e76a7917-103c-4634-b47e-6458a2204de9 fwd="103.23.206.57" dyno= connect= service= status=503 bytes= protocol=https
2022-03-21T04:59:36.050108 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=vue-buymore.herokuapp.com request_id=e95f2915-2bad-43b9-8774-c7ef9747be56 fwd="103.23.206.57" dyno= connect= service= status=503 bytes= protocol=https
2022-03-21T04:59:37.137030 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=vue-buymore.herokuapp.com request_id=cb723762-8b0a-47fd-9d76-31122e9ab334 fwd="103.23.206.57" dyno= connect= service= status=503 bytes= protocol=https
uj5u.com熱心網友回復:
您在透視圖中path遇到了相關的誤解。heroku如果你從你的專案中heroku運行 default并運行(查看串列資訊)命令,你可以看到沒有 可以找到你的專案名稱的地方。他們只是經常將其命名為專案名稱。consolelsxyz-projectapp
在您的專案中,您可以將server.js檔案放在專案根目錄中。另外,將您的backend依賴項添加到 root package.json,并安裝依賴項npm install,不要忘記更改directory里面提到的路徑server.js。
scripts從改變package.json
"scripts": {
"postinstall": "npm run build",
"start": "nodemon server.js" or "node server.js"
}
您的新檔案夾結構:
├── backend
│ ├── folders,api,routes...
├── dist (or build)
├── node_modules
├── package.json
├── server.js
└── .gitignore
所有這些與路徑相關的問題,在云上,都可以通過container服務來解決。這是docker類似容器發揮作用的用例之一。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445670.html
