2016-02-10 3 views
0

Я получаю ошибку импорта модели в моем приложении Node.js при развертывании до Heroku.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]: > [email protected] 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') от node сессии в app и require('../models/Comic') изнутри подкаталоге /app/routes/, чтобы проверить, что require работы.

Единственные экземпляры require для Comic находятся в трех маршрутах в папке routes. Все они имеют то же самое var myVar = require('../models/Comic');.

+1

Насколько я понял, у вас нет модуля Comic, или вы искали Comic в своем каталоге моделей, проверьте, как выглядит ваша структура каталогов, и посмотрите, есть ли у вас Comic внутри моделей. Можете ли вы разместить код некоторое время, чтобы мы могли посмотреть на него и посмотреть, что такое ошибка? Или, по крайней мере, показать нам, как выглядит структура каталогов и файлов. –

+0

Это не модуль, это всего лишь файл модели, который я сделал сам. Единственные экземпляры требуемой модели - это три моих маршрутизатора. Он работает локально нормально, если это помогает. Я попытаюсь опубликовать структуру каталогов в основном вопросе. –

+1

Я мог бы сделать немного лучше, если бы мог видеть содержимое .gitignore и структуру каталогов, вы уверены, что у вас есть файл, загруженный в герою? –

ответ

1

Я понял, что heroku:

а) принимает информацию от Git. Несмотря на то, что я внес изменения в свои локальные файлы и нажал на Git, дело не изменилось. Затем, когда файл был необходим на heroku, который использует Linux, он не смог найти файл.

b) Изменение имени файла только с heroku run bash, похоже, не повлияло. Я предполагаю, что я не выполнял какой-либо шаг развертывания или что мне нужно было сделать что-то дополнительное (я пробовал heroku restart, но не кубик).

Надеюсь, это поможет кому-то еще.

Смежные вопросы