My Node приложение работает нормально локально, но при запуске в Heroku возникла ошибка. Приложение использует Sequelize в папке /models
, которая содержит index.js
, Company.js
и Users.js
. Локально я могу импортировать модели, используя следующий код в /models/index.js
:
// load models
var models = [
'Company',
'User'
];
models.forEach(function(model) {
module.exports[model] = sequelize.import(__dirname + '/' + model);
});
Это прекрасно работает, однако, когда я развертываю в Heroku, приложение выходит из строя со следующей ошибкой:
Error: Cannot find module '/app/models/Company'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at module.exports.Sequelize.import (/app/node_modules/sequelize/lib/sequelize.js:219:24)
at module.exports.sequelize (/app/models/index.js:60:43)
at Array.forEach (native)
at Object.<anonymous> (/app/models/index.js:59:8)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
Process exited with status 8
Первоначально я думал, что это связано с чувствительностью к регистру (локальный mac vs heroku linux), но я переместил файл, совершил git commit, а затем снова вернулся и снова зафиксирован, чтобы гарантировать, что Company.js
заглавны в git. Это не решило проблему, и я не уверен, в чем проблема.