0

我在 LogDNA 中收到以下错误:

(node:28) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Cannot find module '/tmp/build_[long-hash]/my-project-[long-hash]/node_modules/bluebird'
Process exited with status 0
State changed from starting to crashed

该行包含 Bluebird 的导入。当我删除依赖项并删除该行时,我会得到相同的错误,除了它引用了下一行(这也是一个依赖项导入)。

当我部署以前工作的分支时,我得到了同样的错误。当然,我不能在本地重新解决这个问题。

我将 Dyno 的 npm 列表与我的本地列表进行了比较,它们是相同的。此外,所有预期的 node_modules 实际上都存在于 Dyno 的文件系统中。

如果我使用 Heroku-bash 手动运行构建任务(没有什么特别的),然后部署,就可以了。

4

1 回答 1

0

我们已经硬编码/修复了我们所依赖的 Electrode 版本,但是 Electrode 有一个模糊的 WebPack 版本,它在 5 天前发布了一个新版本,导致了这个错误。它会导致导入的路径被错误地解析/转换到构建目录,而不是保持相对。

解决方法是使用require()而不是import.

于 2017-04-18T23:40:25.603 回答