繁体   English   中英

Heroku 部署错误:找不到模块“/app/index.js”

[英]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 ,但我仍然有同样的问题。

有人知道问题出在哪里吗? 任何指导将不胜感激。 先感谢您!

  1. 您的index.js文件是否在您的根目录中?
    web: node ./index.js
  1. 您的文件可能像这样嵌套app/src/index.js
    web: node ./src/index.js
  1. 您的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.jsserver.js或任何你命名的文件。

我也收到此错误。 然后我通过修复导入文件来解决它。 我的文件夹像产品一样是小写的,我像 Product 一样导入它。 它不会在本地主机中给我错误。 请检查导入文件路径是否在索引文件中正确。

如果您在文件夹名称中留出空间或在多个文件夹中创建文件,那么它也可能发生它们并正确指定路径然后它将正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM