„SyntaxError: Importanweisung kann nicht außerhalb eines Moduls verwendet werden“ erklärt und gelöst
In Node.js-Projekten wird der Fehler „SyntaxError: Cannot „Importanweisung außerhalb eines Moduls verwenden“ zeigt an, dass eine Importanweisung in einer Datei verwendet wird, die nicht als ES-Modul erkannt wird. Dieses Problem tritt häufig beim Upgrade auf neuere Versionen von Babel oder Node.js auf.
Verstehen des Problems
In Babel 7 besteht das Standardverhalten darin, Dateien mit zu interpretieren .js-Erweiterung als CommonJS-Module. ES-Module hingegen erfordern ein „Typ“-Feld, das in der nächsten package.json-Datei auf „Modul“ gesetzt ist, oder eine explizite Benennung mit der Erweiterung .mjs.
Fehlerbehebung
Es gibt zwei Möglichkeiten, diesen Fehler zu beheben:
Option 1: Setzen Sie „Typ“ auf „Modul“ in package.json
Fügen Sie das folgende „Typ“-Feld zu Ihrer package.json-Datei hinzu:
// package.json { "type": "module" }
Dadurch werden alle .js- und .mjs-Dateien als ES-Module interpretiert, während Einzelne Dateien können weiterhin als CommonJS interpretiert werden, indem die Erweiterung .cjs verwendet wird.
Option 2: Verwenden Sie explizit die Erweiterung .mjs
Benennen Sie Dateien, die als ES-Module behandelt werden sollen, explizit mit der Erweiterung .mjs. Alle anderen Dateien mit der Erweiterung .js werden standardmäßig als CommonJS interpretiert.
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Node.js die Meldung „SyntaxError: Die Importanweisung kann nicht außerhalb eines Moduls verwendet werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!