57 votes

Nœud error: SyntaxError: Unexpected token d'importation

Je ne comprends pas ce qui est mal. J'ai vérifié les autres membres du forum de parler de transpilation et babel. Que dois-je faire?

node -v
v5.5.0

mon code:

import recast from 'recastai'

et l'erreur

(function (exports, require, module, __filename, __dirname) { import recast from 'module1'
                                                              ^^^^^^

SyntaxError: Unexpected token import
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (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:139:18)
    at node.js:999:3

44voto

lorefnon Points 2768

ES6 les importations sont un récemment introduit la fonctionnalité et la version stable actuelle de Nœud ne les supporte pas et pourtant. Node.js issue tracker a un sujet ouvert pour cela -, mais jusqu'à V8 et Noeud ajouter la prise en charge de cette fonctionnalité, vous devez utiliser un transpiler (la plus populaire étant babel) pour être en mesure d'utiliser des importations.

Pour rapidement essayer transpilation, babel fournit un basé sur le web REPL. Cette une illustre votre code transpiled.

Le projet babel page d'accueil de points pour les ressources pertinentes pour la mise en route avec Babel et à les intégrer à vos processus de développement.

Pour la configuration la plus simple, visitez cette page de configuration et sélectionnez CLI dans la Babel built-ins de la section.

Il s'agit essentiellement de trois étapes simples:

  1. Installer babel-cli : npm install --save-dev babel-cli babel-preset-es2015
  2. Créer .babelrc le fichier de configuration: echo '{ "presets": ["es2015"] }' > .babelrc
  3. Utiliser le module installé à transpile votre code source: ./node_modules/.bin/babel src -d lib

Ladite page de configuration illustre également comment ajouter un mécanisme national de prévention de script pour simplifier la dernière étape. Sinon, vous pouvez intégrer babel avec votre éditeur de texte ou de créer une chaîne de sorte que vos fichiers sont automatiquement compilés sur le changement.

10voto

mahe madhi Points 855

Dans le cas où vous ne voulez pas avoir affaire avec babel. Cette une a fonctionné pour moi.

const calc = require('./my_calc');
let {add, multiply} = calc;

5voto

Jerome Anthony Points 116

1) Installer la dernière presets

yarn add --dev babel-preset-latest

2) Créez .babelrc et ajoutez les éléments suivants

{
    "presets": ["latest"]
}

3) Exécuter le script

npx babel-node yourscript.js

Ou dans votre package.json d'ajout de fichiers

"scripts": {
  "start": "babel-node index.js"
}

2voto

KARTHIKEYAN.A Points 4408

Prise En Main

Nous allons d'abord installer babel-cli.

$ npm install --save-dev babel-cli

Avec quelques presets.

$ npm install --save-dev babel-preset-es2015 babel-preset-stage-2

package.json:

  "scripts": {
    "start": "babel-node index.js --presets es2015,stage-2"
  }

exécuter:

$ npm start

En regardant les modifications de fichiers avec nodemon:

Nous pouvons améliorer notre mnp script de démarrage avec nodemon.

$ npm install --save-dev nodemon

Ensuite, nous pouvons mettre à jour notre mnp script de démarrage.

package.json:

 "scripts": {
   "start": "nodemon index.js --exec babel-node --presets es2015,stage-2"
  }

exécuter:

$ npm start 

Si vous utilisez les pm2, puis suivez ces étapes:

$ pm2 start app.js --interpreter babel-node

0voto

Evan Carroll Points 13420

Grâce à un NodeJS amélioration de la proposition , nous avons un chemin à suivre. Vous pouvez utiliser @standard-things/esm

Trouver l' annonce ici Simplement de l'exécuter

npm i --save @std/esm

Dans votre package d'aujourd'hui.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X