我在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手动运行构建任务(没有什么特别之处),那么部署,没关系。
答案 0 :(得分:0)
我们已经硬编码/修复了我们依赖的Electrode版本,但是Electrode有a fuzzy version for WebPack,它在5天前发布了一个导致此错误的新版本。它导致进口'路径被错误地解析/转换为构建目录而不是保持相对。
解决方法是使用require()
代替import
。