2016-04-24 9 views
3
"scripts": { 
    "build": "babel src -d lib", 
    "start": "node --use_strict ./lib/index.js", 
    "watch": "nodemon lib/index.js --exec npm run build" 
} 

Mit dem Befehl npm run watch Ergebnisse in der folgenden falschen Befehl des ausgeführt wird: [nodemon] starting "npm lib/index.js run build"Wie benutze ich nodemon in npm Skripten um Skripte zu erstellen und zu starten?

Wie würde ich einen nodemon Befehl schreiben, die auf Reload, den Code mit babel transpiles und laden den Code?

Antwort

6

Sie können Ihren Code einfach mit babel-node ausführen, um explizites Transpilieren zu vermeiden.

$ nodemon lib/index.js --exec babel-node --presets=es2015,stage-2 

Es scheint wie this is the recommended Weg nodemon mit babel zu verwenden.

Bitte beachten Sie, laufen --execkonnte haben Auswirkungen unbeabsichtigte Seite, wenn Ihre development Umgebung fern Ihrer localhost

+0

Welche Paket muss ich installieren babel-Knoten laufen? NPM sagt, dass babel-node nicht im Repository ist und obwohl ich babel-cli bereits über npm installiert habe, ist der Befehl babel-node nicht verfügbar. – Connorelsea

+0

'babel-cli' ist der richtige. Sie sollten es entweder global installieren oder den Ausführungspfad in './Node_modules/.bin/babel-node' ändern. –

+0

Ich habe 'babel-cli' global und lokal innerhalb des Projekts installiert und erhalte den folgenden Fehler. http://i.imgur.com/UwXaPTZ.jpg – Connorelsea

0

eine bessere Option laufen würde keine globale verwenden installieren, sondern das Paket lokal installiert verwenden. Dies wird auch für Automations-Builds hilfreich sein, die genauso wie Ihr lokaler Rechner pro 12-Faktor-App-Design eingerichtet werden können.

"scripts": { 
"watch": "node ./node_modules/nodemon/bin/nodemon.js" 

}

+0

können Sie es bitte mehr erklären. –

+0

Verwenden Sie den Knoten code nicht mehr global, sondern verwenden Sie den obigen Code, mit dem Sie das lokal installierte Paket mithilfe von --save oder --save-dev, Knoten ./node_modules/nodemon/bin/nodemon.js entweder in einem npm-Skript aufrufen können oder kli cmd. Fügen Sie auch alle Argumente hinzu, die Sie benötigen, um bestanden zu werden. Grundsätzlich rufen Sie nicht mit einem globalen Bezeichner, sondern direkt von der Lösungsstruktur aus auf. Dies hilft Ihrem Team als auch sie werden alle die gleiche Version verwenden, wenn das Paket global über einen Zeitraum auf mehreren Arbeitsstationen installiert wird, werden die Versionen höchstwahrscheinlich unterschiedlich sein. –