Maison >interface Web >js tutoriel >Pourquoi est-ce que j'obtiens une erreur « SyntaxError : Impossible d'utiliser l'instruction d'importation en dehors d'un module » dans mon projet Node.js ?

Pourquoi est-ce que j'obtiens une erreur « SyntaxError : Impossible d'utiliser l'instruction d'importation en dehors d'un module » dans mon projet Node.js ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-12 19:43:08325parcourir

Why Am I Getting a

"SyntaxError : Impossible d'utiliser l'instruction d'importation en dehors d'un module" dans les projets Node.js

Problème :

Lors de la tentative pour utiliser la dernière version de Babel dans un projet ApolloServer, une "SyntaxError : Impossible d'utiliser l'instruction d'importation en dehors d'un Une erreur "module" se produit. Ce problème se manifeste après le passage de Babel 6 à Babel 7.

Cause :

Node.js version 13.2.0 ou supérieure est requise pour utiliser les instructions d'importation dans les modules. Les versions antérieures de Node.js peuvent ne pas reconnaître les instructions d'importation et générer l'erreur ci-dessus.

Solution :

Option 1 : spécifier le type de module dans Package.json

  • Assurez-vous que la dernière version de Node.js est installée (13.2.0 ).
  • Ajoutez un champ "type": "module" au fichier package.json parent le plus proche. Cela demande à Node.js d'interpréter tous les fichiers .js et .mjs en tant que modules ES.
// package.json
{
  "type": "module"
}

Option 2 : utiliser explicitement l'extension .mjs

  • Au lieu d'utiliser l'extension .js pour vos fichiers de module, nommez-les explicitement avec l'extension .mjs. Node.js reconnaîtra automatiquement ces fichiers en tant que modules ES.

Conseils supplémentaires :

  • Vérifiez votre configuration Babel pour vous assurer qu'elle est à jour. à ce jour et prend en charge les modules ES.
  • Consultez la documentation du package à l'origine du problème pour voir s'il comporte des exigences spécifiques ou des recommandations d'utilisation. importer des instructions dans des projets Node.js.

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!

Déclaration:
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