web-dev-qa-db-fra.com

comment exécuter le script node/babel directement en ligne de commande?

Mon package.json ressemble à:

{
  "name": "99-nodetest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "babel-node --presets env app.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-env": "latest"
  }
}

Le script js que je veux exécuter est app.js. Je ne peux pas l'exécuter directement à l'aide de node app.js car app.js contient une nouvelle syntaxe.

Ainsi, je dois l'exécuter via babel, en utilisant npm start , conformément au script de démarrage défini ci-dessus. Aucun problème ici.

Ma question est de savoir comment exécuter le cmd directement dans la ligne de commande, cela peut-il être fait?

npm lance babel-node --presets env app.js

3
joedotnot

node ./node_modules/babel-cli/bin/babel-node.js --presets env app.js

MODIFIER

Mis à jour à la demande de l'OP.

9
Rodrigo Mata

Vous pouvez exécuter les fichiers binaires des packages npm avec npx:

npx babel-node --presets env app.js

3
Viktor Vlasenko

Installer @ babe/node globalement-

npm i -g @babel/node

la commande babel-node est alors disponible dans votre terminal. Donc, vous pouvez courir -

babel-node --presets env app.js

En fait, il devrait être utilisé uniquement dans un environnement de développement, jamais recommandé pour la production, car il nécessite inutilement une utilisation intensive de la mémoire.

1
Ashraful Alam

Le noeud Babel a une bin enregistrée, de sorte qu'un exécutable est généré lors de l'installation dans le répertoire node_modules/.bin.

Vous pouvez le lancer simplement en tapant.

node_modules/.bin/babel-node --presets env app.js

Ce qui accomplit la même chose que les versions node ou npx plus longues.

0
Mat Lipe

Mugleys Gugley géniaux! C'était beaucoup plus difficile que cela aurait dû être.

Voir ici pour docs . TLDR;

Babel> version 7.0 doit être dans votre package.json pour pouvoir être exécuté en ligne de commande.

npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node 

npx babel-node --presets @babel/preset-env imports/test.js 
0
Michael Cole