Jak mogę wykonać skrypt startowy z pliku package.json za pomocą Nodemon?
Jak mogę wykonać skrypt startowy z pliku package.json za pomocą Nodemon?
Odpowiedzi:
To będzie proste polecenie
nodemon --exec npm start
npm startale nie uruchamia serwera węzłów dla mnie .. skąd miałoby wiedzieć, gdzie jest server.js?
W pakiecie json:
{
"name": "abc",
"version": "0.0.1",
"description": "my server",
"scripts": {
"start": "nodemon my_file.js"
},
"devDependencies": {
"nodemon": "~1.3.8",
},
"dependencies": {
}
}
Następnie z terminala możesz użyć npm start
Instalacja Nodemon: https://www.npmjs.com/package/nodemon
npm startzawiedzie w produkcji z powodu braku nodemona?
npm run startnienpm start
npm startto alias dlanpm run start
Mam plik TypeScript o nazwie „server.ts”. Poniższe skrypty npm konfigurują Nodemon i npm do uruchamiania mojej aplikacji i monitorowania zmian w plikach TypeScript:
"start": "nodemon -e ts --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",
Mam już Nodemon na zależnościach. Kiedy uruchomię npm start, poprosi Nodemona o monitorowanie swoich plików za pomocą -eprzełącznika, a następnie myappwywoła skrypt npm, który jest prostą kombinacją transpilacji plików maszynopisu, a następnie uruchomienia wynikowego server.js. Kiedy zmieniam plik TypeScript, z powodu -eprzełącznika następuje ten sam cykl i nowe pliki .js zostaną wygenerowane i wykonane.
Używam Nodemon w wersji 1.88.3 w moim projekcie Node.js. Aby zainstalować Nodemon, zobacz https://www.npmjs.com/package/nodemon .
Sprawdź swój plik package.json, zobacz, czy „skrypty” zmieniły się w ten sposób:
"scripts": {
"dev": "nodemon server.js"
},
server.jsto moja nazwa pliku, możesz użyć innej nazwy dla tego pliku, na przykład app.js.
Następnie uruchom to na swoim terminalu: npm run dev
Zastosowanie -exec:
"your-script-name": "nodemon [options] --exec 'npm start -s'"
nodemon [options] --exec 'npm start -s'jeśli chcesz to zrobić z wiersza poleceń.
Najpierw zmień plik package.json ,
"scripts":
{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
Następnie wykonaj polecenie
npm run start-dev
app.js, omijasz wszystko, co ./bin/wwwrobi ...
W pliku package.json. zmień plik w ten sposób
"scripts":{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
a następnie wykonaj polecenie npm run start-dev
Nodemon emituje zdarzenia przy każdej zmianie stanu; start, restart crash, itd. Możesz dodać plik konfiguracyjny Nodemon (nodemon.json) w następujący sposób:
{
"events": {
"start": "npm run *your_file*"
}
}
Przeczytaj więcej w dziale Zdarzenia Nodemon - uruchamiaj zadania przy starcie serwera, restarcie, awarii, wyjściu .
Jeśli jest zainstalowany globalnie, to
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Upewnij się, że zainstalowałeś na nodemoncałym świecie:
npm install -g nodemon
Wreszcie, jeśli jesteś użytkownikiem systemu Windows, upewnij się, że włączone jest ograniczenie zabezpieczeń programu Windows PowerShell .
Będzie to zależeć od typów instalacji Nodemon. Jeśli instalujesz Nodemon globalnie za pomocą poleceń ( npm install nodemon --globallub npm install nodemon -g), nie musisz określać żadnego skryptu dla Nodemon w pliku package.json . Po prostu wykonuję polecenienodemon index.js spowoduje uruchomienie projektu.
Ale jeśli zainstalujesz Nodemon lokalnie za pomocą polecenia npm install nodemon, musisz określić skrypt. Jeśli nazwać jak zacząć następnie npm run startalbo npm startwywoła serwer do uruchomienia.
// Absolutely no need for global installation
"scripts": {
"start": "nodemon index.js"
}
Jeśli nodemonzainstalowałeś globalnie, po prostu uruchomienie nodemonw twoim projekcie spowoduje automatyczne uruchomienie startskryptu z package.json.
Na przykład:
"scripts": {
"start": "node src/server.js"
},
nodemon będzie również szukał właściwości scripts.start w package.json (od nodemon 1.1.x).
W opakowaniu json:
"scripts": {
"start": "node index",
"dev": "nodemon index"
},
"devDependencies": {
"nodemon": "^2.0.2"
}
A w terminalu do tworzenia:
npm run dev
A do regularnego uruchamiania serwera:
npm start
Aby uniknąć instalacji globalnej, dodaj Nodemon jako zależność, a następnie ...
package.json
"scripts": {
"start": "node ./bin/www",
"start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
},