Heim > Web-Frontend > js-Tutorial > Warum erhalte ich in Node.js die Meldung „SyntaxError: Die Importanweisung kann nicht außerhalb eines Moduls verwendet werden'?

Warum erhalte ich in Node.js die Meldung „SyntaxError: Die Importanweisung kann nicht außerhalb eines Moduls verwendet werden'?

DDD
Freigeben: 2024-12-05 03:30:13
Original
455 Leute haben es durchsucht

Why Am I Getting a

„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"
}
Nach dem Login kopieren

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

  • Stellen Sie sicher, dass Sie die neueste Version von Node.js installiert haben (13.2.0 wird empfohlen).
  • Wenn Sie zuvor Babel 6 verwendet haben, müssen Sie die Voreinstellungen auf aktualisieren Vermeiden Sie weitere Fehler.
  • Es ist wichtig, im gesamten Projekt konsequent ES-Module oder CommonJS-Module zu verwenden, um die Kompatibilität aufrechtzuerhalten.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage