Heroku找不到模块(模型文件)

时间:2016-02-10 20:59:17

标签: node.js heroku

部署到Node.js时,我的Heroku应用程序中出现模型导入错误。

2016-02-10T20:40:04.712617+00:00 app[web.1]: > node ./bin/www
2016-02-10T20:40:04.712615+00:00 app[web.1]: > comic@0.0.0 start /app
2016-02-10T20:40:05.770633+00:00 app[web.1]:     throw err;
2016-02-10T20:40:05.770629+00:00 app[web.1]: module.js:341
2016-02-10T20:40:05.770637+00:00 app[web.1]:     at Function.Module._resolveFilename (module.js:339:15)
2016-02-10T20:40:05.770636+00:00 app[web.1]: Error: Cannot find module '../models/Comic'
2016-02-10T20:40:05.770638+00:00 app[web.1]:     at Module.require (module.js:367:17)
2016-02-10T20:40:05.770634+00:00 app[web.1]:     ^
2016-02-10T20:40:05.770640+00:00 app[web.1]:     at Module._compile (module.js:413:34)
2016-02-10T20:40:05.770641+00:00 app[web.1]:     at Object.Module._extensions..js (module.js:422:10)
2016-02-10T20:40:05.770639+00:00 app[web.1]:     at require (internal/module.js:16:19)
2016-02-10T20:40:05.770642+00:00 app[web.1]:     at Module.load (module.js:357:32)
2016-02-10T20:40:05.770637+00:00 app[web.1]:     at Function.Module._load (module.js:290:25)
2016-02-10T20:40:05.770640+00:00 app[web.1]:     at Object.<anonymous> (/app/routes/create.js:2:13)
2016-02-10T20:40:05.770643+00:00 app[web.1]:     at Module.require (module.js:367:17)
2016-02-10T20:40:05.770642+00:00 app[web.1]:     at Function.Module._load (module.js:314:12)
2016-02-10T20:40:05.804819+00:00 app[web.1]:

我已尝试在heroku run bash require('./models/Comic')会话中nodeapprequire('../models/Comic')子目录中运行/app/routes/来测试require require有效。

Comic的{​​{1}}的唯一实例位于routes文件夹中的三个路由中。它们都具有完全相同的var myVar = require('../models/Comic');

1 个答案:

答案 0 :(得分:1)

我发现了heroku

a)从Git获取信息。即使我在本地文件中进行了大小写更改并推送到Git,但案例并没有改变。然后,当使用Linux的heroku上需要该文件时,它找不到该文件。

b)仅更改heroku run bash文件的名称似乎没有任何影响。我假设我没有做某种部署步骤,或者我需要做一些额外的事情(我试过heroku restart但没有骰子)。

希望这可以帮助别人。