Rumah > hujung hadapan web > tutorial js > Menggunakan nodemon dan menonton di node.js untuk dimulakan semula secara langsung

Menggunakan nodemon dan menonton di node.js untuk dimulakan semula secara langsung

Lisa Kudrow
Lepaskan: 2025-02-08 10:00:19
asal
421 orang telah melayarinya

Using Nodemon and Watch in Node.js for Live Restarts

Katakan selamat tinggal kepada kesungguhan restart berulang dalam pembangunan Node.js! Artikel ini memperkenalkan dua kaedah untuk membantu anda meningkatkan kecekapan pembangunan.

mata teras

    Pembangunan yang cekap dengan Nodemon: Kami akan memperkenalkan Nodemon, modul Node.js pihak ketiga, yang dapat menyelesaikan masalah secara manual menghentikan dan memulakan semula aplikasi Node.js selepas setiap pengubahsuaian kod.
  • Pilihan Konfigurasi Nodemon: Kami akan merangkumi pelbagai pilihan konfigurasi untuk nodemon, seperti menetapkan laluan tertentu untuk memantau, mengabaikan laluan tertentu, memantau lanjutan fail tertentu, menyesuaikan kelewatan restart, dan menetapkan pembolehubah persekitaran.
  • node.js -Mode Watch (untuk aplikasi mudah): Untuk aplikasi mudah, jika anda menggunakan node.js 18.11 atau lebih baru, anda boleh menggunakan pilihan
  • eksperimen node.js. Ciri terbina dalam ini memulakan semula aplikasi apabila sebarang perubahan fail yang diimport, memberikan alternatif yang lebih langsung daripada Nodemon tanpa memerlukan modul pihak ketiga tambahan. Walau bagaimanapun, ia tidak mempunyai pilihan kawalan lanjutan yang terdapat dalam Nodemon. --watch
Jika anda mempunyai pengalaman pembangunan PHP, anda tahu anda boleh mengemas kini kod dan menyegarkan penyemak imbas untuk menguji perubahan. Pelayan web seperti Apache atau Nginx akan menerima permintaan anda untuk fail PHP dan lulus kandungannya kepada penterjemah PHP untuk melaksanakan kod tersebut. Pelayan mengembalikan output yang dihasilkan (biasanya HTML atau JSON) kepada penyemak imbas panggilan. Dalam erti kata lain, kod berjalan secara dinamik setiap kali ia diminta.

node.js mengambil pendekatan yang berbeza untuk aplikasi web:

Aplikasi JavaScript anda adalah pelayan web . Running akan memulakan aplikasi, memuatkan semua modul dan memulakan pelayan yang boleh bertindak balas terhadap permintaan masuk. Menukar fail tidak menjejaskan output aplikasi kerana ia sudah berjalan dalam ingatan. Untuk menguji kemas kini, anda mesti menutupnya dengan node index.js ctrl | node.js menghentikan dan memulakan semula proses boleh menjadi sangat mengecewakan semasa debugging atau semasa jam -jam fokus yang jarang berlaku, terutamanya apabila membuat banyak perubahan. Nasib baik, terdapat dua penyelesaian: Nodemon node index.js

node.js

mod

  1. Nodemon
  2. Nodemon adalah modul node.js pihak ketiga yang dibangunkan oleh pakar JavaScript Remy Sharp. (Dia berkata anda boleh menyebutnya mengikut kehendak!) --watch
  3. anda boleh memasang Nodemon sebagai modul global:

kemudian menggantikan nod dengan nodemon dalam perintah permulaan pembangunan. Sebagai contoh, pertimbangkan arahan berikut:

Perintah di atas sekarang akan kelihatan seperti ini:

npm install -g nodemon
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Aplikasi anda akan bermula seperti biasa, tetapi ia akan dimulakan semula secara automatik apabila anda mengedit dan menyimpan fail sumber. Tidak perlu tekan

ctrl
node --inspect index.js arg1 arg2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
|

NOTA: Nodemon adalah penyelesaian sisi pelayan yang tidak menyegarkan mana-mana tab penyemak imbas yang anda tunjukkan kepada aplikasi. Anda boleh menggunakan alat seperti BrowserSync atau Esbuild untuk mencapai tambah nilai masa nyata.

untuk mendapatkan bantuan nodemon, masukkan:

npm install -g nodemon
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Konfigurasi Nodemon

Nodemon mempunyai set parameter baris arahan sendiri yang lebih penting daripada konfigurasi di tempat lain. Anda juga boleh menentukan konfigurasi di:

  • sebahagian daripada package.json dalam fail "nodemonConfig" projek
  • fail konfigurasi nodemon.json tempatan dalam direktori projek, dan/atau
  • fail konfigurasi global nodemon --config <file> yang digunakan semasa menjalankan nodemon.json dari baris arahan

parameter/tetapan berikut biasanya digunakan.

Watch

Nodemon memantau fail JavaScript dalam direktori kerja semasa, tetapi anda boleh secara eksplisit menetapkan jalan tertentu menggunakan Wildcards pada baris arahan:

node --inspect index.js arg1 arg2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

atau anda boleh melakukan ini dalam fail konfigurasi nodemon.json:

nodemon --inspect index.js arg1 arg2
Salin selepas log masuk

Abaikan

Begitu juga, anda boleh memilih untuk mengabaikan jalan:

nodemon --help
Salin selepas log masuk

atau anda boleh melakukan ini dalam fail konfigurasi nodemon.json:

nodemon --watch lib1 config/*.json ./index.js
Salin selepas log masuk

ext

anda boleh memantau fail tertentu dengan sambungan fail mereka. Sebagai contoh, anda boleh memantau fail templat JS, CJS, MJS, JSON dan NJK seperti ini:

{
  "watch": [
    "lib1",
    "config/*.json"
  ]
}
Salin selepas log masuk

atau anda boleh melakukan ini dalam fail konfigurasi nodemon.json:

nodemon --ignore lib2 config/build.json ./index.js
Salin selepas log masuk

LegacyWatch

Dalam sesetengah persekitaran, seperti bekas Docker yang membaca fail dari pemacu yang dipasang, pemantauan fail mungkin gagal. Beralih ke mod pemantauan warisan Gunakan pengundian untuk memeriksa sama ada fail telah diubah. Dari baris arahan:

{
  "ignore": [
    "lib2",
    "config/build.json"
  ]
}
Salin selepas log masuk

atau dalam fail konfigurasi nodemon.json:

nodemon --ext "js,cjs,mjs,json,njk" ./index.js
Salin selepas log masuk

kelewatan

Nodemon menunggu sebentar sebelum mencetuskan permulaan semula. Ini berguna apabila anda biasanya menyimpan banyak fail sekaligus. Anda boleh menukar kelewatan dari baris arahan - contohnya, hingga lima saat:

{
  "ext": "js,cjs,mjs,json,njk"
}
Salin selepas log masuk

atau dalam fail konfigurasi nodemon.json (perhatikan bahawa konfigurasi ini menggunakan milisaat bukan beberapa saat):

nodemon --legacy-watch ./index.js
Salin selepas log masuk

verbose

Tunjukkan log output terperinci:

{
  "legacyWatch": true
}
Salin selepas log masuk

atau dalam fail konfigurasi nodemon.json:

nodemon --delay 5 ./index.js
Salin selepas log masuk

env

fail konfigurasi untuk menetapkan pembolehubah persekitaran tertentu: nodemon.json

{
  "delay": 5000
}
Salin selepas log masuk
Lain -lain Executables

Akhirnya, anda boleh menggunakan Nodemon untuk melancarkan aplikasi yang ditulis dalam bahasa lain. Sebagai contoh, untuk memulakan skrip perl yang dimulakan semula secara automatik:

anda juga boleh menentukan senarai executable menggunakan lanjutannya dalam fail konfigurasi
nodemon --verbose ./index.js
Salin selepas log masuk
:

nodemon.json

Advanced Nodemon
{
  "verbose": true
}
Salin selepas log masuk

Jika anda memerlukannya, Nodemon menawarkan ciri -ciri yang lebih canggih:

  • hantar isyarat supaya anda dapat mengendalikan penutupan dengan anggun
  • acara percuma apabila keadaan Nodemon berubah
  • Pindahkan saluran paip output ke proses lain
  • memuatkan nodemon sebagai modul ke dalam projek anda
  • menjana nodemon sebagai proses kanak -kanak, dan
  • Gunakan Nodemon dalam aliran kerja Gulp dan Grunt.

node.js -Modewatch mod

Jika anda mempunyai keperluan permulaan aplikasi yang kompleks, Nodemon masih merupakan alat pilihan. Walau bagaimanapun, jika anda menggunakan Node.js 18.11 (dibebaskan lewat 2022) atau lebih baru, ia menyediakan pilihan --watch eksperimen untuk memulakan semula permohonan anda tanpa memasang Nodemon atau mana-mana modul pihak ketiga yang lain. Sebagai contoh, untuk perintah permulaan:

npm install -g nodemon
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

ini akan menjadi:

node --inspect index.js arg1 arg2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

node.js akan dimulakan semula apabila sebarang perubahan fail yang diimport. Tiada pilihan kawalan lain, jadi jika ia tidak sesuai dengan projek anda, pertimbangkan untuk menggunakan Nodemon sebaliknya.

Ringkasan

Apabila pengalaman anda berkembang, anda akan mendapati ia semakin berguna untuk memulakan semula aplikasi Node.js secara automatik. Sila pertimbangkan ini sebagai sebahagian daripada aliran kerja pembangunan dalam semua projek.

Atas ialah kandungan terperinci Menggunakan nodemon dan menonton di node.js untuk dimulakan semula secara langsung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan