Chcę mieć możliwość wykonania polecenia script1
w katalogu projektu, który będzie działać node script1.js
.
script1.js
to plik w tym samym katalogu. Polecenie musi być specyficzne dla katalogu projektu, co oznacza, że jeśli wyślę komuś folder projektu, będzie mógł uruchomić to samo polecenie.
Do tej pory próbowałem dodać:
"scripts": {
"script1": "node script1.js"
}
do mojego pliku package.json, ale kiedy próbuję uruchomić script1
, otrzymuję następujące dane wyjściowe:
zsh: command not found: script1
Czy ktoś zna kroki niezbędne do dodania wspomnianego powyżej skryptu do folderu projektu?
* Uwaga: polecenie nie może być dodane do profilu bash (nie może być poleceniem specyficznym dla komputera)
Daj mi znać, jeśli potrzebujesz wyjaśnień.
javascript
node.js
package.json
run-script
Jake.JS
źródło
źródło
npm run script1
?script1
które powinno zostać uruchomionenode script1.js
Odpowiedzi:
Skrypty niestandardowe
npm run-script <custom_script_name>
lub
npm run <custom_script_name>
W twoim przykładzie chciałbyś uruchomić
npm run-script script1
lubnpm run script1
.Zobacz https://docs.npmjs.com/cli/run-script
Skrypty cyklu życia
Węzeł umożliwia również uruchamianie niestandardowych skryptów dla określonych zdarzeń cyklu życia, takich jak po
npm install
uruchomieniu. Można je znaleźć tutaj .Na przykład:
To działałoby
electron-rebuild
ponpm install
poleceniu.źródło
npm run-script scriptname
pracował dla mnie, alenpm run scriptname
nie!sails lift
które nawet wymaga NPM. Czy zainstalowanie go przez NPM dodaje skrypt terminala do systemu, w którym jest zainstalowany? Jeśli nie, jak to się robi?-g
), dowiedziałem się, że Sails instaluje skrypty bash / cmdlet (np.sails generate api <api_name>
(Bash / cmdlet zgodnie z maszyną, na której jest instalowany) i dodaje globalne ścieżki do tych skryptów na maszynieUtworzyłem następujący plik i działa on w moim systemie. Spróbuj tego:
package.json:
script1.js:
Z wiersza poleceń uruchom następujące polecenie:
Dodatkowy przypadek użycia
Mój plik package.json zawiera zazwyczaj następujące skrypty, które umożliwiają mi przeglądanie moich plików pod kątem maszynopisu, kompilacji Sass oraz uruchamiania serwera.
źródło
script1.js
pliku musi być niestandardowym poleceniemscript1
"start"
nascript1
, możesz użyć dowolnej nazwy, wolę użyćstart
jasno zdefiniowanego, co powinno być uruchamianeKroki są poniżej:
W pliku package.json dodaj:
Utwórz
bin
folder w katalogu projektu i dodaj plikrunScript1.js
z kodem:Uruchom
npm install shelljs
w terminaluUruchom
npm link
w terminaluZ terminala możesz teraz uruchomić,
script1
który będzie działaćnode script1.js
Źródła: http://blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool-with-npm
źródło
Powiedzmy w skryptach, które chcesz uruchomić 2 polecenia za pomocą jednego polecenia:
Teraz idź do swojego terminala i biegnij tam
npm run singleCommandToRunTwoCommand
.źródło
In my terminal I need to be able to type the one word command called script1 which should run node script1.js
Przykład:
Jak widać, skrypt „build_c” buduje aplikację kątową, następnie usuwa wszystkie stare pliki z katalogu, a na koniec kopiuje wynikowe pliki kompilacji.
źródło
&&
- stackoverflow.com/questions/39172536/…