2015-04-16 7 views
8

Das gleiche in node.js erreicht mit --harmony Flagge wie diese werden könnte:Wie man Schluck mit --harmony Flagge läuft?

node --harmony app.js 

So wird es Unterstützung für EcmaScript6 hinzuzufügen sein.

Wie man Schluckbefehle mit Harmony Flag ausführt?

+0

möglich Duplikat [Warum mit „Schluck-Scherz“ versagt: „Bitte führen Sie Knoten mit der --harmony Flagge! "?" (http://stackoverflow.com/questions/28315796/why-gulp-jest-is-failing-with-please-run-node-with-the-harmony-flag) – msanford

+0

Normalerweise kann man so etwas mit "gulp [options for gulp] - --harmony" erreichen, wobei alles nach '--' an Node.js übergeben werden sollte. –

Antwort

6

Sie können in der folgenden Art und Weise tun:

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

Platz diese in ~/.bashrc Datei und schluck wird immer in Harmonie-Modus.

Wenn Sie einen Docker Benutzer sind und wollen in einem Container gulp mit Harmonie verwenden, können Sie in der folgenden Art und Weise zu tun:

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

Der Schlüssel -i Flagge mit einem bash zu verwenden, so dass Ihre Alias ​​wird erfolgreich geladen. Sonst läuft es sich ohne Harmonieunterstützung selbst.

+0

Sie können den Alias ​​nicht einfach auf die gleiche Weise benennen, der Befehl, den Sie versuchen aufzulösen ('which gulp') heißt.Dies sollte zu einem Fehler führen, da 'gulp' zu' 'gulp: aliased zu node --harmony' zerlegt wird, was "' – naeramarth7

+1

@ naeramarth7 danke für die Antwort. Ja, ich dachte auch darüber nach, aber tatsächlich, was auch nach einem Alias ​​schluckt, gibt den tatsächlichen Pfad zu einer Schluck-Binärdatei zurück. Sie können es selbst überprüfen, es funktioniert nur. – FelikZ

+0

hat das vorher überprüft - funktioniert nicht in 'zsh' auf' OS X 10.10' (neben dem fehlenden Zitat auf der Alias-Zeile). Gibt mir 'Fehler: Modul /gulp' kann nicht gefunden werden, da versucht wird genau diesen Befehl auszuführen:' 'node --harmony gulp: aliased zu node --harmony' what gulp '' '. – naeramarth7

3

Um oben auf FelikZ Lösung zu folgen:

npm Lauf

Sie Ihre package.json aktualisieren können und fügen Sie Ihre schluck den Abschnitt scripts Befehle:

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

Diese Befehle können dann genannt mit npm run start, npm run build etc.

Wenn Sie alle Ihre Schluck Befehle über npm anrufen möchten (ohne sie separat zu definieren) Sie tun können, wie folgt: io:

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

gulp start ausführen zu können, würden Sie npm run -- start usw.

Alternative nennen. js

Wenn Sie --harmony standardmäßig verwenden möchten, können Sie auch einen Blick auf io.js haben:

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