Мое приложение работает нормально в локальном хосте, но когда я отправляю его для развертывания в другом месте, например, aws (или mcs), он не распознает путь к файлам, которые lib consign должен загружать.Каким образом эластичный beanstalk запускает код приложения nodejs?
Это то, что я ожидаю, чтобы запустить:
> [email protected] start /home/code/tmp/portal
> NODE_ENV=development nodemon index.js
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node index.js`
consign v0.1.2 Initialized in app
+ ./controllers/homeController.js
+ ./routes/routes.js
Ok! Express is running...
Трассировка ниже, что происходит на AWS, видно, что он не распознает файл homeController.js:
> [email protected] start /var/app/current
> NODE_ENV=development nodemon index.js
[nodemon] 1.11.0[39m
[nodemon] to restart at any time, enter `rs`[39m
[nodemon] watching: *.*[39m
[nodemon] starting `node index.js`[39m
consign v0.1.2 Initialized in app
+ ./current/
+ ./current/
/var/app/current/app/routes/routes.js:2
app.get('/', app.controllers.homeController.index.bind(app.controllers.homeController));
^
TypeError: Cannot read property 'homeController' of undefined
at Function.module.exports (/var/app/current/app/routes/routes.js:2:33)
at Consign.into (/var/app/current/node_modules/consign/lib/consign.js:239:17)
at Object.<anonymous> (/var/app/current/config/express.js:18:6)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/var/app/current/index.js:1:80)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
[31m[nodemon] app crashed - waiting for file changes before starting...[39m
Любая идея почему эта среда возится с этим приложением? Или как aws запускает этот код?
.... ясно 'приложение' не определено в файле /var/app/current/app/routes/routes.js в строке 2. начните свое исследование там. –
EBS запускает сервер EC2 на основе ваших настроек. Вы должны иметь возможность настроить его таким образом, чтобы вы могли ssh на сервере и изучать вещи оттуда. –
, хотя ... кажется немного странным, что вы будете развертывать сервер и использовать nodemon в качестве способа запуска/запуска сервера. не нодемон средство разработки? –