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
node ./node_modules/babel-cli/bin/babel-node.js --presets env app.js
MODIFIER
Mis à jour à la demande de l'OP.
Vous pouvez exécuter les fichiers binaires des packages npm avec npx
:
npx babel-node --presets env app.js
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.
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.
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