Mein package.json sieht so aus:
{
"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"
}
}
Das js-Skript, das ich ausführen möchte, ist app.js. Ich kann es nicht direkt mit node app.js ausführen, da app.js eine neue Sprachsyntax enthält.
Also muss ich es mit Hilfe von npm start durch babel laufen lassen, wie in dem oben definierten Startskript. Keine Probleme hier.
Meine Frage ist, wie man die cmd direkt in der Kommandozeile ausführt. Kann das gemacht werden?
npm run babel-node --presets env app.js
node ./node_modules/babel-cli/bin/babel-node.js --presets env app.js
EDIT
Aktualisiert wie vom OP gefordert.
Sie können npm-Pakete mit npx
ausführen:
npx babel-node --presets env app.js
@Babe/node global installieren-
npm i -g @babel/node
der Befehl babel-node wird dann in Ihrem Terminal verfügbar. Du kannst also laufen -
babel-node --presets env app.js
Übrigens, es sollte nur in dev-Umgebungen verwendet werden, es sollte jedoch nie für die Produktion empfohlen werden, da es bei einer hohen Speicherauslastung unnötig hoch ist.
Der Babel-Knoten hat eine bin
registriert, so dass bei der Installation eine ausführbare Datei im node_modules/.bin
-Verzeichnis erstellt wird.
Sie können es einfach ausführen, indem Sie es eingeben.
node_modules/.bin/babel-node --presets env app.js
Dies bewirkt dasselbe wie die längere node
- oder die alternative npx
-Version.
Große Gugley Mugleys! Das war viel schwieriger als es hätte sein sollen.
Siehe hier für docs . TLDR;
Babel> Version 7.0 muss in Ihrem package.json
ausgeführt werden, um von der Befehlszeile ausgeführt zu werden.
npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
npx babel-node --presets @babel/preset-env imports/test.js