[英]Heroku Deploy Error: Cannot find module '/app/index.js'
我正在嘗試在 Heroku 上部署 mt 應用程序,但我總是遇到同樣的錯誤:
2016-08-18T10:16:10.988982+00:00 heroku[web.1]: Starting process with command `node index.js`
2016-08-18T10:16:13.180369+00:00 app[web.1]: module.js:341
2016-08-18T10:16:13.180389+00:00 app[web.1]: throw err;
2016-08-18T10:16:13.180390+00:00 app[web.1]: ^
2016-08-18T10:16:13.180391+00:00 app[web.1]:
2016-08-18T10:16:13.180392+00:00 app[web.1]: Error: Cannot find module '/app/index.js'
2016-08-18T10:16:13.180393+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:339:15)
2016-08-18T10:16:13.180394+00:00 app[web.1]: at Function.Module._load (module.js:290:25)
2016-08-18T10:16:13.180394+00:00 app[web.1]: at Function.Module.runMain (module.js:447:10)
2016-08-18T10:16:13.180399+00:00 app[web.1]: at node.js:405:3
2016-08-18T10:16:13.271966+00:00 heroku[web.1]: Process exited with status 1
2016-08-18T10:16:13.273383+00:00 heroku[web.1]: State changed from starting to crashed
正如我在類似請求中所讀到的,我已經添加了一個包含以下代碼的 Procfile: web: node index.js
,但我仍然有同樣的問題。
有人知道問題出在哪里嗎? 任何指導將不勝感激。 先感謝您!
index.js
文件是否在您的根目錄中? web: node ./index.js
app/src/index.js
web: node ./src/index.js
index.js
是否有大寫的“I”? 它必須是index.js
而不是Index.js
如果你的項目根目錄下確實有index.js文件,但heroku 的錯誤提示找不到模塊。 然后,您遇到的問題可能是由於GIT 。
我們怎樣才能確保是這種情況? 好吧,您的 git 存儲庫可能不會將您的index.js文件添加到提交中,也不會將其推送到 heroku。 您可以通過以下命令查看git在本地存儲庫中監視的文件來驗證這一點:
git ls-files
應該列出您的index.js文件。 如果不是,那么您的文件將被忽略。
解決方案:強制添加您的文件。
git add --force ./index.js
現在你可以提交並推送到heroku,你應該已經啟動並運行了。
當您的索引文件位於dist目錄或src (app/dist/index.js 或 app/src/index.js)中時,也可能出現這種情況。
為 index.js 文件添加相對路徑,如下所示
web: node ./index.js
我的問題是我的本地開發環境有問題。 不知何故...JavaScript 代碼被注入到我的應用程序項目中,而我沒有這樣做。
Heroku 不知道這種情況正在發生,在我推送期間開始看到錯誤,例如“找不到 jQuery,即使您在應用程序中使用它”。 我當時想“什么????,我什至沒有使用 jQuery。” 然后我在我的項目中重新打開了一個 .js 文件……它就是一個聲明 jquery 的 const 變量。 所以我說了這么多,檢查你的 VSCode 擴展,你的第三方 npm 包,以及所有相關的事情,以確保這樣的事情不會發生在你身上。
如果錯誤仍然發生,請嘗試使用:
web: node .
使用另一個實例轉到任何子目錄的根目錄中的package.json
文件。
將腳本標簽從"start": "node start"
更改為"start": "node app.js"
。
請注意:在我的情況下,我的主文件是app.js
,你的可以是index.js
或server.js
或任何你命名的文件。
我也收到此錯誤。 然后我通過修復導入文件來解決它。 我的文件夾像產品一樣是小寫的,我像 Product 一樣導入它。 它不會在本地主機中給我錯誤。 請檢查導入文件路徑是否在索引文件中正確。
如果您在文件夾名稱中留出空間或在多個文件夾中創建文件,那么它也可能發生它們並正確指定路徑然后它將正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.