Mithilfe von Knoten-sass-watch-option mit npm run-Skript
So, ich bin mit Aufgaben in der npm-Paket-Skripte, aber ich wollen, übergeben Sie die Uhr-option in npm start
.
Dies funktioniert:
"scripts": {
"scss": "node-sass src/style.scss dist/style.css -w"
}
Diese nicht kompilieren, anschauen, oder werfen Fehler:
"scripts": {
"scss": "node-sass src/style.scss dist/style.css",
"start": "parallelshell \"npm run scss -- -w\""
}
Funktioniert nicht ohne parallelshell entweder mit oder ohne Kürzel.
Ich nehme an, das problem ist das run-Skript übergeben wird das zusätzliche argument in Anführungszeichen, damit der Befehl kommt wie:
node-sass src/style.scss dist/style.css "-w"
Ich würde dies gerne arbeiten, ohne jegliche Abhängigkeiten. Was bin ich?
Btw, ich bin in Windows 10 mit Eingabeaufforderung/git bash.
Bitte betrachten Sie meine Antwort( how-can-i-get-node-sass-watch-and-live-reload-to-work-from-a-single-npm-script) auf diese!
InformationsquelleAutor Ryan Metin | 2016-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist mein setup für css Gebäude
The-o flag setzt das Verzeichnis für die Ausgabe der css.
Ich habe eine nicht-gucken-version "css", weil die Beobachtung-version "css:watch" ~nicht bauen, sobald es laufen~, es läuft nur auf ändern, so nenne ich
bevor Sie
Wenn Sie es nur wollen, führen Sie auf ändern, und nicht beim ersten Lauf, nur verwenden
node-sass src/style.scss dist/style.css -w
Dies nicht:node-sass src/style.scss dist/style.css "-w"
Danke für die Tipps obwohl. Ich werde Sie jetzt.Sie können entkommen, der doppelten Anführungszeichen mit backslash. Wie: \"-w\", diese Art der Anführungszeichen nicht in die JSON ungültig, aber Sie zeigen, wenn Sie den Befehl ausführen im terminal
Ich bekam das. Ich meinte damit, dass
npm run scss -- -w
nicht passierennode-sass src/style.css dist/style.scss "-w"
.Warten... nevermind. Ich bin ein idiot. Weiß nicht, warum ich dachte, die änderungen waren nicht etwas zu tun, bevor. Vielen Dank für die Hilfe.
Blättern Sie nach unten, um die richtige Antwort
InformationsquelleAutor Ryan White
Aufbauend auf die vorigen Antworten, eine weitere option ist die Nutzung von NPM benutzerdefinierte Skript Argumente TROCKEN bleiben, indem Sie nicht wiederholt die
build
Skript-Argumente in derwatch
Skript:Im obigen Beispiel, die
watch:sass
Skript arbeitet wie folgt:build:sass
Skript. Dies kompiliert die CSS.build:sass
Skript erneut, aber dieses mal sind die-w
Flagge. Dies kompiliert die CSS, wenn eine der SASS-Datei ändert.Beachten Sie die
--
option, die am Ende deswatch:sass
Skript. Diese wird verwendet, um benutzerdefinierte Argumente, die beim ausführen eines Skripts. Aus der docs:Dude, das ist golden, danke. FYI, für alle anderen Knoten-sass-Optionen: npmjs.com/package/node-sass#command-line-interface
InformationsquelleAutor jhildenbiddle
Btw, hier meine änderung:
Edit: Änderung war die asynchrone Skript ausgeführt wird, für die erstmalige kompilieren und dann mit dem beobachten-flag.
"start": "parallelshell \"npm run scss\" \"npm run scss -- -w\""
Huh, ich hab 2.0 auch. Was ist, wenn Sie ausführen der Aufgaben synchronisieren, wie:
npm run scss & npm run scss -- -w
. Funktioniert so oder so auf mein Ende..nicht für mich - watcher eigentlich nicht bleiben "watch" - Modus, so dass ich stecken zu parallelshell docs. Auch habe ich mittlerweile erstellt eine "prewatch" Aufgabe:
"prewatch": "npm run scss"
Konnte Sie Bearbeiten und erklären Sie die Antwort? 'Hier ist meine change" ist ziemlich vage. Was parallelshell?
Es ist ein npm mod.
InformationsquelleAutor Ryan Metin
Einfachste, meiner Meinung nach, ein kleiner quick-Projekt, ist nur öffnen Sie eine neue bash-Fenster und fügen Sie:
InformationsquelleAutor Jujhar Singh