Maison >interface Web >js tutoriel >Quelles sont les causes de l'erreur « Exportation inattendue de jetons » dans ES6 et comment la résoudre ?

Quelles sont les causes de l'erreur « Exportation inattendue de jetons » dans ES6 et comment la résoudre ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-17 21:48:291025parcourir

What Causes the

Comprendre l'erreur « Exportation inattendue de jeton » dans ES6

Lorsque vous essayez d'utiliser le code ES6 dans un projet, vous pouvez rencontrer l'erreur « Exportation inattendue de jeton ». Cette erreur est due à l'incompatibilité entre la prise en charge JavaScript de votre environnement et la syntaxe ES6.

Raison de l'exportation inattendue de jetons

ES6 a introduit le concept de modules EcmaScript (ESM) , désigné par le mot-clé export. Cependant, les environnements qui ne prennent pas en charge ESM interpréteront cette syntaxe comme un jeton inattendu. Notamment, les anciennes versions de NodeJS (antérieures à la v14.13.0) utilisent des modules CommonJS, qui utilisent la syntaxe de propriété module.exports. Même dans les versions plus récentes de NodeJS qui prennent en charge ESM, il doit être explicitement activé.

Solutions pour résoudre l'exportation inattendue de jetons

Il existe différentes approches pour résoudre ce problème :

  • Activez ESM dans NodeJS v14.13.0 ou version ultérieure : Pour activer la prise en charge d'ESM, modifiez le fichier package.json de votre projet en définissant "type": "module."
  • Refactorisez à l'aide de la syntaxe du module CommonJS : Pour les anciennes versions de NodeJS, réécrivez votre code en utilisant la syntaxe du module CommonJS.
  • Utilisez TypeScript avec ts-node/ts-node-dev : En utilisant TypeScript et les packages npm ts-node ou ts-node-dev, vous pouvez transpiler des fichiers TypeScript en code JavaScript compatible avec votre environnement.
  • Transpiler ESM vers CommonJS à l'aide d'esbuild : Utilisez le package esbuild pour transpiler votre code ES6 en JavaScript CommonJS, garantissant ainsi la compatibilité avec votre environnement. (Remarque : l'utilisation de Babel n'est plus recommandée.)

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