Ứng dụng Nút của tôi đang chạy tốt tại địa phương, nhưng đã gặp lỗi khi triển khai vào Heroku. Ứng dụng sử dụng Sequelize trong thư mục /models
, chứa index.js
, Company.js
và Users.js
. Tại địa phương, tôi có thể nhập các mô hình sử dụng đoạn mã sau vào /models/index.js
:Heroku + Nút: Không thể tìm thấy lỗi mô-đun
// load models
var models = [
'Company',
'User'
];
models.forEach(function(model) {
module.exports[model] = sequelize.import(__dirname + '/' + model);
});
này hoạt động tốt, tuy nhiên, khi tôi triển khai đến Heroku treo ứng dụng với các lỗi sau:
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
Ban đầu Tôi nghĩ rằng đó là do trường hợp nhạy cảm (địa phương mac vs heroku linux), nhưng tôi di chuyển các tập tin, thực hiện một cam kết git, và sau đó di chuyển trở lại và cam kết một lần nữa để đảm bảo Company.js
được viết hoa trong kho git. Điều này không giải quyết được vấn đề và tôi không chắc vấn đề có thể là gì.
Vui mừng đã giúp, công việc tốt đẹp! – dankohn
Thám tử làm việc tốt. – WildService
Tôi đã có cùng một vấn đề này và đã cố gắng tìm ra nó trong thời gian dài nhất. Cảm ơn bạn và hơn @dankohn! –