Maison >interface Web >js tutoriel >Pourquoi est-ce que je reçois une « Erreur de syntaxe : importation de jeton inattendue » dans Node.js ?

Pourquoi est-ce que je reçois une « Erreur de syntaxe : importation de jeton inattendue » dans Node.js ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-19 04:41:53530parcourir

Why Am I Getting a

Node.js : Comprendre l'erreur inattendue d'importation de jeton

Dans Node.js, rencontrer l'erreur "SyntaxError : importation de jeton inattendue" généralement indique que vous essayez d'utiliser la syntaxe d'importation dans un environnement non pris en charge.

L'importation la syntaxe est une fonctionnalité d'ES6 (ECMAScript 2015) qui vous permet d'importer des modules. Cependant, dans Node.js, la prise en charge des importations de modules ES6 a été progressivement introduite avec la sortie de différentes versions.

Prise en charge des modules ES6 dans les versions Node.js

  • Nœud 13 : L'importation de modules via import est stable et entièrement prise en charge. Vous pouvez utiliser des fichiers .mjs ou définir "type": "module" dans le fichier package.json.
  • Nœud 12 : Semblable au nœud 13, vous pouvez importer des modules avec des fichiers .mjs ou en utilisant "type": "module" dans package.json. Cependant, vous devez exécuter Node avec l'indicateur --experimental-modules.
  • Node 9 : Dans Node 9, les importations de modules sont encore expérimentales et nécessitent l'utilisation de fichiers .mjs et du --experimental-modules flag.

Avant le nœud 13, importations de modules ES6 N'étaient pas pris en charge

Dans les versions de Node.js antérieures à 13, la syntaxe d'importation n'était pas prise en charge nativement. Par conséquent, si vous rencontrez cette erreur dans les versions antérieures, c'est parce que vous essayez d'utiliser une construction JavaScript qui n'est pas prise en charge par l'environnement d'exécution.

Retour aux instructions Require classiques

Pour résoudre ce problème, vous devez revenir à l'utilisation de l'instruction require classique pour importer des modules dans les versions Node.js qui ne prennent pas en charge l'importation. Par exemple :

const express = require("express");

Utilisation de Babel pour les fonctionnalités ES6/7

Si vous souhaitez utiliser les fonctionnalités ES6/7 dans Node.js, vous pouvez compiler votre code en utilisant Babel. Babel est un transpilateur JavaScript qui convertit la syntaxe JavaScript la plus récente en code compatible avec les environnements plus anciens. Voici un exemple de compilation d'un serveur avec Babel :

npm install --save-dev babel-cli babel-preset-env
npx babel-node script.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