W przypadku nowego modułu próbuję użyć npm build
bez gulp / Grunt / innych specjalistycznych narzędzi do kompilacji.
"scripts": {
"build": "node build.js"
},
Mój plik build.js jest prosty
console.log('Hello')
Jednak bieganie
npm build
Po prostu wychodzi bez drukowania, ze stanem 0.
Bieganie:
npm install
Robi również wszystkie normalne rzeczy, ale nie uruchamia też build.js.
Jak mogę zmusić npm do uruchomienia skryptu kompilacji?
Edycja: nawet proste polecenia bash wydają się nie działać, np
"scripts": {
"build": "touch TESTFILE"
},
Nie tworzy pliku o tej nazwie.
javascript
node.js
build
npm
mikemaccana
źródło
źródło
install
zamiast tego.Odpowiedzi:
Niestety
npm build
jest to już wewnętrzne polecenie, jak opisano w dokumentacji :Ponieważ to polecenie już istnieje, zawsze rzuca cień na twoje
"build": "node build.js"
.W pełni kwalifikowanym sposobem uruchomienia własnego skryptu jest
run-script
użycie aliasu lub jego aliasurun
:npm start
a inne są metodą short hand, ale są one opcją tylko wtedy, gdy istniejące polecenie npm nie przesłania go, tak jaknpm build
robi.Dla potomnych (jak wspominali inni)
npm build
jest używany przez npm do tworzenia natywnych dodatków C / C ++ Node przy użyciu node-gyp . Nie jest to dobrze udokumentowane, ponieważ zwykle dzieje się to automatycznie, ale jeśli jesteś zainteresowany, kod źródłowy jest tutaj .źródło
npm build
? O ile widzę, wszystkie pliki są całkowicie niezmienione ...npm install
i npm znajduje pakiet, który ma powiązania C / C ++ lub ogólnie coś, co wymaga do uruchomienia node-gyp, to się uruchamianpm build
. Możesz odbudować te pakiety, po prostu uruchamiając jenpm build
samodzielnie._build
inpm build
powinno być skrótem jaknpm start
inpm test
npm build
to nie wywoła mojego skryptu i że jest używany do budowania skompilowanych składników pakietu. Nadal nie jestem pewien, jak to się robi: jakich plików szuka itp.?npm build
Skrypt o nazwie „wbudowany”
package.json
w żaden sposób nie jest specjalny. Jedynym sposobem na uruchomienie go jest zadzwonienie:Jest kilka nazw, które są wywoływane automatycznie przez npm , ale "build" nie jest jedną z nich. Pełna lista to:
prepublish
,publish
,postpublish
preinstall
,install
,postinstall
preuninstall
,uninstall
,postuninstall
preversion
,version
,postversion
pretest
,test
,posttest
prestop
,stop
,poststop
prestart
,start
,poststart
prerestart
,restart
,postrestart
preCUSTOM
ipostCUSTOM
dla niestandardowych nazw skryptów.źródło
OK, aby uruchomić własną kompilację, użyj:
źródło
Miałem problem z
npm run build
nie wydrukowaniem niczego. skończyło się na użyciu,npm run build --verbose
aby uzyskać potrzebne dane wyjściowe.źródło
NPM budować oczekuje
Spróbuj użyć skryptów npm w pliku package.json, na przykład klasycznego startu npm
źródło
npm build .
powinno działać, aw moim przypadku npm wykonuje skrypt „build” w moim „package.json”, tak jak się spodziewałem.