Maison > interface Web > js tutoriel > Pourquoi est-ce que j'obtiens une « Erreur de syntaxe : impossible d'utiliser l'instruction d'importation en dehors d'un module » dans Node.js ?

Pourquoi est-ce que j'obtiens une « Erreur de syntaxe : impossible d'utiliser l'instruction d'importation en dehors d'un module » dans Node.js ?

DDD
Libérer: 2024-12-05 03:30:13
original
455 Les gens l'ont consulté

Why Am I Getting a

"SyntaxError : Impossible d'utiliser l'instruction d'importation en dehors d'un module" Expliqué et résolu

Dans les projets Node.js, l'erreur "SyntaxError : Cannot utiliser l'instruction d'importation en dehors d'un module" indique qu'une instruction d'importation est utilisée dans un fichier qui n'est pas reconnu comme module ES. Ce problème survient généralement lors de la mise à niveau vers des versions plus récentes de Babel ou Node.js.

Comprendre le problème

Dans Babel 7, le comportement par défaut consiste à interpréter les fichiers avec le Extension .js en tant que modules CommonJS. Les modules ES, en revanche, nécessitent un champ « type » défini sur « module » dans le fichier package.json le plus proche ou un nom explicite avec l'extension .mjs.

Résoudre l'erreur

Il existe deux options pour résoudre cette erreur :

Option 1 : définissez "type" sur "module" dans package.json

Ajoutez le champ "type" suivant à votre fichier package.json :

// package.json
{
  "type": "module"
}
Copier après la connexion

Cela interprétera tous les fichiers .js et .mjs comme des modules ES, tandis que les fichiers individuels peuvent toujours être interprétés comme CommonJS en utilisant l'extension .cjs.

Option 2 : utilisez explicitement l'extension Extension .mjs

Nommez explicitement les fichiers qui doivent être traités comme des modules ES avec l'extension .mjs. Tous les autres fichiers portant l'extension .js seront interprétés comme CommonJS par défaut.

Considérations supplémentaires

  • Assurez-vous que la dernière version de Node.js est installée (13.2.0 est recommandé).
  • Si vous utilisiez auparavant Babel 6, il est nécessaire de mettre à jour les préréglages vers évitez d'autres erreurs.
  • Il est important d'utiliser systématiquement les modules ES ou CommonJS tout au long d'un projet pour maintenir la compatibilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal