Jak wykonać skrypt startowy za pomocą Nodemon


90

Jak mogę wykonać skrypt startowy z pliku package.json za pomocą Nodemon?


Jesteś pewien, że możesz wykonać skrypt startowy z pliku package.json? Ponieważ z tego, co wiem, package.json zawiera listę wszystkich zależności, a nodemon ma utrzymywać działanie procesu. Nie jestem do końca pewien, o czym tu sugerujesz?
Saras Arya

Odpowiedzi:


141

To będzie proste polecenie

nodemon --exec npm start

A jeśli muszę uruchamiać tylko testy bez uruchamiania aplikacji? Twoje rozwiązanie działa jednocześnie.
Sergey

1
to działa, npm startale nie uruchamia serwera węzłów dla mnie .. skąd miałoby wiedzieć, gdzie jest server.js?
Sonic Soul

38

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


1
Przepraszamy, szukam sposobu na wykonanie skryptu startowego za pomocą nodemon, a nie na wykonanie nodemona w skrypcie startowym. Przepraszam, jeśli to nie było jasne.
Citronen

6
Nie npm startzawiedzie w produkcji z powodu braku nodemona?
ripper234

2
npm run startnienpm start
M. Dhaouadi

1
Jestem początkującym z npm. Nie rozumiem, dlaczego musimy określić skrypt startowy, skoro możemy używać nodemona po wyjęciu z pudełka? Po prostu instaluję nodemona z npm i używam go bezpośrednio bez określania żadnego skryptu i działa idealnie.
Hokhy Tann

@ M.Dhaouadi npm startto alias dlanpm run start
George

16

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.


14

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



5

Najpierw zmień plik package.json ,

"scripts":
    { 
        "start": "node ./bin/www",
        "start-dev": "nodemon ./app.js"
    },

Następnie wykonaj polecenie

npm run start-dev

1
Ale kiedy od ciebie uciekniesz app.js, omijasz wszystko, co ./bin/wwwrobi ...
Jake Wilson,

1
to otwiera nową kartę za każdym razem
Qui-Gon Jinn

5

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




1

Możesz także zainstalować nodemon globalnie do częstego użytku:

npm i nodemon -g lub sudo npm i nodemon -g

następnie edytuj plik package.json:

  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

Ogólnie „dev” określa przeznaczenie rozwojowe ( npm run dev ).


1

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"
  }

1

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"
},

Z dokumentacji nodemona :

nodemon będzie również szukał właściwości scripts.start w package.json (od nodemon 1.1.x).


0

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

Co to jest „rejestrator” ? Czy masz na myśli „zwykły” ?
Peter Mortensen

-1

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"
  },

Nadal możesz ustawić go jako "start-dev": "nodemon ./bin/www", jeśli zainstalujesz go w devDependencies
WoLfPwNeR
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.