$ node -v
$ 12.6.0
$ npm run start
internal/modules/cjs/loader.js:821
throw new ERR_REQUIRE_ESM(filename);
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /Users/dev/dynamic-es6-mod/src/index.mjs
at Object.Module._extensions..mjs (internal/modules/cjs/loader.js:821:9)
at Module.load (internal/modules/cjs/loader.js:643:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
at internal/main/run_main_module.js:17:11
Der offizielle Dokumentation Für das Modul heißt es, dass v2 mit require() verwendet werden soll.
Es gibt eine Lösung obwohl. Anstatt importiert zu werden, kann es auch asynchron geladen werden:
Sie müssen lediglich die Flagge hinzufügen –experimental-modules Das unterstützt die neue ES6-Import-/Export-Anweisung. Außerdem ist die Reihenfolge wie folgt wichtig.
Das ist nicht richtig. Funktioniert nicht mit NodeJS Version 12 LTS und –experimental-modules wird in der NodeJS-Dokumentation für Version 12 oder 14 nicht erwähnt. Ich denke, diese Option war eine Funktion in der Entwicklung, die entfernt wurde.
– Neutrino
10. Juni 2020 um 13:25 Uhr
Ja, war laut diesem Artikel eine Funktion vor NodeJS v12.00 medium.com/@nodejs/…
– Abdulrahman alaa
11. Juni 2020 um 17:00 Uhr
Hat bei mir mit Version 12.16.1 funktioniert, IDK, warum es bei dir nicht funktioniert hat @Neutrino
– Digender Mahara
11. Okt. 2020 um 7:34
import Jimp from 'jimp'; Verursachte das gleiche Problem, import('jimp').then((jimp) => jimp.read(fileBuffer)) Vielen Dank, Sie haben meinen Tag gerettet
Unterverzeichnis tut – in src Verzeichnisort package.json mit { "type": "module" }
PS: Das ESLint-Team kann es derzeit nicht einfach lösen, nur wegen des Kerndesigns … 🙁
Crispengari
Sie müssen diese Codezeile in Ihre package.json-Datei einfügen "type" : "module" Wenn ich Ihre Frage richtig verstehe, können Sie Imports-Anweisungen anstelle von „Require“ verwenden.
Hallo, ich glaube, ich mache das durch, was du durchgemacht hast. Ich kann Ihre Lösung nicht verstehen. Können Sie das bitte näher erläutern? Außerdem habe ich Ihr Repo noch nicht geklont. Erklärt das die Lösung?
– Pramod
30. Dezember 2021 um 5:46 Uhr
14527300cookie-checkFehler [ERR_REQUIRE_ESM]: Wie verwende ich es6-Module in Knoten 12?yes