2015-04-16 45 views
8

Lo stesso potrebbe essere raggiunto nel node.js utilizzando --harmony bandiera in questo modo:Come eseguire gulp con la bandiera --harmony?

node --harmony app.js 

Così sarà aggiungere il supporto per EcmaScript6.

Come eseguire i comandi gulp con la bandiera di armonia?

+0

possibile duplicato del [Perchè "gulp-scherzo" sta fallendo con: "Eseguire nodo con il flag --harmony! "?] (http://stackoverflow.com/questions/28315796/why-gulp-jest-is-failing-with-please-run-node-with-theharmony-flag) – msanford

+0

Di solito si può ottenere qualcosa del genere con 'gulp [opzioni per gulp] - --harmony', dove tutto dopo' --' deve essere passato a Node.js. –

risposta

6

è possibile farlo nel modo seguente:

alias gulp='node --harmony `which gulp`' 

Luogo questo ~/.bashrc di file e gulp sarà sempre eseguito in modalità armonia.

Se sei un utente finestra mobile e si desidera utilizzare gulp con l'armonia all'interno di un contenitore, si può fare che nel seguente modo:

docker run -ti \ 
    --name container \ 
    nodejs-image-with-gulp-pre-installed \ 
    bash -ci 'gulp task' 

La chiave è quella di utilizzare -i contrassegna con un bash, in modo che il l'alias verrà caricato con successo. Altrimenti eseguirà gulp stesso senza supporto per l'armonia.

+0

Non puoi semplicemente nominare l'alias nello stesso modo, il comando che cerchi di risolvere ('which gulp') è chiamato.Questo dovrebbe finire in un errore, dal momento che 'which gulp' risolverà in' 'gulp: alias to node --harmony' quale gulp '' ' – naeramarth7

+1

@ naeramarth7 grazie per la risposta. Sì, ci ho pensato anche io, ma in realtà 'che gulp', anche dopo un alias, restituisce il vero percorso di un binario gulp. Puoi controllarlo da solo, è solo un lavoro. – FelikZ

+0

verificato in precedenza - non funziona in 'zsh' su' OS X 10.10' (oltre alla citazione mancante sulla linea alias). Errore: impossibile trovare il modulo '/gulp'' poiché tenta di eseguire esattamente questo comando: '' node --harmony gulp: alias to node --harmony 'which gulp'' '. – naeramarth7

3

Per seguire sulla soluzione FelikZ:

corsa npm

È possibile aggiornare il vostro package.json e aggiungere comandi tua sorso alla sezione scripts:

{ 
    "scripts": { 
    "start": "node --harmony `which gulp` start", 
    "build": "node --harmony `which gulp` build", 
    ... 
    } 
} 

Questi comandi possono quindi essere chiamato con npm run start, npm run build ecc.

Se si desidera chiamare i comandi di tutto il vostro fiato attraverso NPM (senza definire separatamente) si può procedere come segue:

{ 
    "scripts": { 
    "gulp": "node --harmony `which gulp`" 
    } 
} 

Per eseguire gulp start, si sarebbe chiamata npm run -- start ecc

Alternativa: io. js

Se si desidera utilizzare --harmony per impostazione predefinita, si potrebbe anche avere uno sguardo a io.js:

https://iojs.org/en/es6.html