2015-12-27 14 views
8

Ho seguito le istruzioni here per installare babel-cli. Ho aggiunto al mio "build": "babel src -d lib" package.json nella directory voglio correre in Tuttavia, a correre, ottengo questo errore:.Esecuzione di babel-cli da script npm non funzionante

npm run build 

> [email protected] build /Users/richard/src/ipfs-readme-standard 
> babel src -d lib 

src doesn't exist 

npm ERR! Darwin 14.5.0 
npm ERR! argv "/Users/richard/.nvm/versions/node/v5.0.0/bin/node" "/Users/richard/.nvm/versions/node/v5.0.0/bin/npm" "run" "build" 
npm ERR! node v5.0.0 
npm ERR! npm v3.5.2 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] build: `babel src -d lib` 
npm ERR! Exit status 2 
npm ERR! 
npm ERR! Failed at the [email protected] build script 'babel src -d lib'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the ipfs-readme-standard package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  babel src -d lib 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs ipfs-readme-standard 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls ipfs-readme-standard 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /Users/richard/src/ipfs-readme-standard/npm-debug.log 

Sono in perdita. Non dovrebbe essere generato src? Non c'è alcun passaggio in più su babeljs.io che mi manca.

risposta

24

Shouldn't src be generated?

Questa è la cartella che contiene lo script che si desidera traspare. Se non esiste, Babel lancerà l'errore che hai postato.

Inoltre, prendere atto di quello che dice in fondo pagina si è collegato al:

Pre-6.x, Babel enabled certain transformations by default. However, Babel 6.x does not ship with any transformations enabled. You need to explicitly tell it what transformations to run. The simplest way to do this is by using a preset, such as the ES2015 Preset.

Questo significa che anche se si crea una directory src e inserire un file contenente codice ES6 in esso, Babel sarà corro felicemente, ma l'output sarà (quasi) identico all'input.


Questo è un breve esempio di come iniziare e utilizzare con babel-cli.

Creare un progetto, quindi installare il pacchetto babel-cli e preimpostato ES2015:

mkdir babeltest && cd babeltest 
touch package.json 
npm install babel-cli babel-preset-es2015 --save-dev 

Modifica accanto package.json:

{ 
    "name": "my-project", 
    "version": "1.0.0", 
    "scripts": { 
    "build": "babel src -d lib" 
    }, 
    "scripts": { 
    "build": "babel --presets es2015 src -d lib" 
    }, 
    "devDependencies": { 
    "babel-cli": "^6.0.0" 
    } 
} 

Si noti che il comando negli script NPM è leggermente diverso da quello su babel homepage, nella misura in cui stiamo dicendo di utilizzare i preset installati.

Avanti fare un file nella directory src:

mkdir src && cd src 
touch main.js 

In main.js aggiungere:

[1,2,3].map(x => x * x) 

Poi gestita babel via NPM:

npm run build 

e controllare l'output in lib/main.js

"use strict"; 

[1, 2, 3].map(function (x) { 
    return x * x; 
}); 
0

Vedrete anche questo errore quando i moduli dei nodi non sono installati, Se si scarica il codice da internet e subito tenta di eseguire il codice, getta l'errore precedente, basta eseguire

npm install 

e poi

npm run build // o altri comandi dovrebbero funzionare