Bagaimana menjalankan skrip start dengan Nodemon


90

Bagaimana saya bisa menjalankan skrip start dari file package.json dengan Nodemon?


Anda yakin dapat menjalankan skrip start dari package.json? Karena dari apa yang saya tahu package.json adalah mencantumkan semua dependensi Anda dan nodemon adalah untuk menjaga proses Anda tetap berjalan. Saya tidak yakin apa yang Anda maksud di sini?
Saras Arya

Jawaban:


142

Ini akan menjadi perintah sederhana untuk ini

nodemon --exec npm start

Bagaimana jika saya hanya perlu menjalankan pengujian tanpa menjalankan aplikasi? Solusi Anda menjalankan keduanya.
Sergey

1
ini berjalan npm starttetapi tidak memulai server node untuk saya .. bagaimana ia tahu di mana server.js berada?
Sonic Soul

39

Dalam paket json:

{
  "name": "abc",
  "version": "0.0.1",
  "description": "my server",
  "scripts": {
    "start": "nodemon my_file.js"
  },
  "devDependencies": {
    "nodemon": "~1.3.8",
  },
  "dependencies": {

  }
}

Kemudian dari terminal Anda dapat menggunakan npm start

Instalasi Nodemon: https://www.npmjs.com/package/nodemon


1
Maaf, mencari cara untuk mengeksekusi skrip start dengan nodemon, bukan mengeksekusi nodemon di skrip start. Maaf jika itu tidak jelas.
Citronen

6
Tidak akan npm startgagal dalam produksi karena kurangnya nodemon?
ripper234

2
npm run starttidaknpm start
M. Dhaouadi

1
Saya seorang pemula dengan npm. Saya tidak mengerti mengapa kita perlu menentukan skrip awal sementara kita dapat menggunakan nodemon di luar kotak? Saya hanya menginstal nodemon dengan npm dan menggunakannya secara langsung tanpa menentukan skrip apa pun dan berfungsi dengan sempurna.
Hokhy Tann

@ M.Dhaouadi npm startadalah alias untuknpm run start
George

16

Saya memiliki file TypeScript bernama "server.ts", Skrip npm berikut mengkonfigurasi Nodemon dan npm untuk memulai aplikasi saya dan memantau setiap perubahan pada file TypeScript:

"start": "nodemon -e ts  --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",

Saya sudah memiliki Nodemon pada dependensi. Ketika saya menjalankan npm start, ia akan meminta Nodemon untuk memantau file-nya menggunakan -esakelar dan kemudian memanggil myappskrip npm yang merupakan kombinasi sederhana dari mentranspilasi file skrip dan kemudian memulai server.js yang dihasilkan. Ketika saya mengubah file TypeScript, karena -eperalihan siklus yang sama terjadi dan file .js baru akan dibuat dan dijalankan.


14

Saya menggunakan Nodemon versi 1.88.3 dalam proyek Node.js saya. Untuk menginstal Nodemon, lihat di https://www.npmjs.com/package/nodemon .

Periksa package.json Anda, lihat apakah "scripts" telah berubah seperti ini:

  "scripts": {
    "dev": "nodemon server.js"
  },

server.jsadalah nama file saya, Anda dapat menggunakan nama lain untuk file ini seperti app.js.

Setelah itu, jalankan ini di terminal Anda: npm run dev



5

Pertama ubah file package.json Anda ,

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

Setelah itu, jalankan perintah

npm run start-dev

1
Tapi ketika Anda kabur dari app.jsAnda melewati semua yang ./bin/www...
Jake Wilson

1
ini membuka tab baru setiap kali
Qui-Gon Jinn

5

Dalam file package.json. ubah file seperti ini

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

dan kemudian jalankan npm run start-dev




1

Anda juga dapat menginstal nodemon secara global untuk sering digunakan:

npm i nodemon -g atau sudo npm i nodemon -g

lalu edit package.json Anda:

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

Umumnya, 'dev' menentukan penggunaan pengembangan ( npm run dev ).


1

Ini akan tergantung pada jenis instalasi Nodemon Anda. Jika Anda menginstal Nodemon secara global dengan menggunakan perintah ( npm install nodemon --globalatau npm install nodemon -g), Anda tidak perlu menentukan skrip apa pun untuk Nodemon di file package.json Anda . Hanya menjalankan perintahnodemon index.js akan menjalankan proyek Anda.

Tetapi jika Anda menginstal Nodemon secara lokal dengan perintah npm install nodemonmaka Anda harus menentukan skripnya. Jika Anda menamainya sebagai start maka npm run startatau npm startakan memicu server untuk berjalan.

// Absolutely no need for global installation
 "scripts": {
    "start": "nodemon index.js"
  }

1

Jika Anda telah nodemonmenginstal secara global, menjalankan nodemondalam proyek Anda secara otomatis akan menjalankan startskrip dari package.json.

Sebagai contoh:

"scripts": {
  "start": "node src/server.js"
},

Dari dokumentasi nodemon :

nodemon juga akan mencari properti scripts.start di package.json (mulai dari nodemon 1.1.x).


0

Dalam paket json:

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

"devDependencies": {
  "nodemon": "^2.0.2"
}

Dan di terminal untuk mengembangkan:

npm run dev

Dan untuk memulai server biasa:

npm start

Apa itu "regiuler" ? Apakah maksud Anda "biasa" ?
Peter Mortensen

-1

Untuk menghindari penginstalan global, tambahkan Nodemon sebagai dependensi, lalu ...

package.json

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

Anda masih dapat membuatnya "start-dev": "nodemon ./bin/www" jika Anda menginstalnya di bawah devDependencies
WoLfPwNeR
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.