Node.js – SyntaxError: importation de jeton inattendue

Je ne comprends pas ce qui ne va pas. Noeud v5.6.0 NPM v3.10.6

Mon code:

(function (exports, require, module, __filename, __dirname) { import express from 'express'; 

Erreur:

 SyntaxError: Unexpected token import at exports.runInThisContext (vm.js:53:16) at Module._comstack (module.js:387:25) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Function.Module.runMain (module.js:447:10) at startup (node.js:140:18) at node.js:1001:3 

Mise à jour: Dans le nœud 9 , il est activé derrière un indicateur et utilise l’extension .mjs .

 node --experimental-modules my-app.mjs 

Bien que l’ import fasse effectivement partie d’ES6, elle n’est malheureusement pas encore prise en charge par défaut dans NodeJS et n’a que très récemment été prise en charge dans les navigateurs.

Voir la table de compatibilité du navigateur sur MDN et ce problème de nœud .

Extrait de la mise à jour de James M Snell sur les modules ES6 dans Node.js (février 2017):

Les travaux sont en cours, mais cela va prendre du temps. Nous nous penchons actuellement sur au moins un an.

Tant que le support n’apparaît pas en mode natif, vous devez continuer à utiliser les instructions require classiques:

 const express = require("express"); 

Si vous souhaitez vraiment utiliser les nouvelles fonctionnalités ES6 / 7 de NodeJS, vous pouvez les comstackr à l’aide de Babel. Voici un exemple de serveur .

Malheureusement, Node.js ne supporte pas encore l’ import d’ES6.

Pour accomplir ce que vous essayez de faire (importer le module Express), ce code devrait suffire

 var express = require("express"); 

Assurez-vous également que Express est installé en cours d’exécution.

 $ npm install express 

Consultez la documentation de Node.js pour plus d’informations sur l’apprentissage de Node.js.

Erreur: SyntaxError: importation de jeton inattendue ou SyntaxError: exportation de jeton inattendu


Solution: changez toutes vos importations comme exemple

 const express = require('express'); const webpack = require('webpack'); const path = require('path'); const config = require('../webpack.config.dev'); const open = require('open'); 

Si vous pouvez utiliser ‘babel’, essayez d’append des scripts de compilation dans package.json (- presets = es2015) comme ci-dessous. il fait précomstackr le code d’importation à es2015

 "build": "babel server --out-dir build --presets=es2015 && webpack"