Экспресс-ошибка Node.js: не удается найти модуль - PullRequest
0 голосов
/ 24 августа 2018

У меня проблемы с запуском экспресс-приложения в докере с узлом 10.9.0 из-за импорта:

root@e85495ae1c9e:/usr/app/backend# node app.js  
internal/modules/cjs/loader.js:583
throw err;
^

Error: Cannot find module '/usr/app/backend/models/todo'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/usr/app/backend/app.js:7:12)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)

Код работает локально, но не в докере.

Файл, который, как сообщается, отсутствует, определенно находится там:

root@e85495ae1c9e:/usr/app/backend/models# ls -alsh
total 12K
4.0K drwxr-xr-x 2 root root 4.0K Aug 22 12:56 .
4.0K drwxr-xr-x 1 root root 4.0K Aug 24 14:48 ..
4.0K -rwxr-xr-x 1 root root  211 Aug 22 12:57 Todo.js

Импорт внутри app.js вызывает проблемы (обратите внимание, что я обращаюсь к этому через dirname, потому что мне тоже не повезло с относительным импортом):

var Todo = require(path.join((__dirname), "/models/todo"));

Я не смог найти никого с похожей ошибкой при поиске в Интернете, поэтому я публикую это здесь в надежде на небольшую помощь.

Дайте мне знать, если потребуется дополнительная информация.

Также, если вы отрицаете это, пожалуйста, прокомментируйте, почему, так что я буду знать, где я испортил.

1 Ответ

0 голосов
/ 24 августа 2018

Просто хотел добавить это как ответ для будущих читателей.

Проблема была с корпусом. Он требовал todo, когда файл был Todo. Всегда проверяйте правильность установки корпуса. Вы не можете полагаться на ОС, чтобы найти правильный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...