Ошибка [ERR_REQUIRE_ESM]: необходимо использовать импорт для загрузки модуля ES - приложение для начинающих node js - PullRequest
0 голосов
/ 06 апреля 2020

Я решил взять простую учебную книгу по nodejs + express. У него есть код (который работает просто отлично, и он использует Common JS).

Затем, в середине книги, автор решает переключиться на ES6 (почему он не делал этого с самого начала - за мной). Но теперь я продолжаю получать это.

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /.../notesstage2/bin/www.mjs
    at Object.Module._extensions..mjs (internal/modules/cjs/loader.js:996:9)
    at Module.load (internal/modules/cjs/loader.js:798:32)
    at Function.Module._load (internal/modules/cjs/loader.js:711:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1014:10)
    at internal/main/run_main_module.js:17:11
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! notesstage1@0.0.0 start: `node ./bin/www`
npm ERR! Exit status 1

Я посмотрел на другие вопросы стека и сделал следующее.

  • изменил все, что требуется для импорта
  • переписал bin / www to ммс и внес соответствующие изменения
  • переписал модели в модели ES6
  • переписал модели маршрута к модулям ES6

Наконец, расширение также было изменено на .m js. Я дважды проверил и трижды проверил заметки в книге.

Тем не менее, когда я запускаю приложение DEBUG = notesstage1: * npm start, я получаю вышеуказанную ошибку. Я понимаю, что должен использовать импорт, и я использую его везде. нет нигде в проекте кода неимпорта

...