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
Lisa Kudrowasal
2025-02-08 10:00:19519semak imbas

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:

<code class="language-bash">npm install -g nodemon</code>

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

ctrl
<code class="language-bash">node --inspect index.js arg1 arg2</code>
|

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:

<code class="language-bash">npm install -g nodemon</code>

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></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:

<code class="language-bash">node --inspect index.js arg1 arg2</code>

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

<code class="language-bash">nodemon --inspect index.js arg1 arg2</code>

Abaikan

Begitu juga, anda boleh memilih untuk mengabaikan jalan:

<code class="language-bash">nodemon --help</code>

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

<code class="language-bash">nodemon --watch lib1 config/*.json ./index.js</code>

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:

<code class="language-json">{
  "watch": [
    "lib1",
    "config/*.json"
  ]
}</code>

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

<code class="language-bash">nodemon --ignore lib2 config/build.json ./index.js</code>

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:

<code class="language-json">{
  "ignore": [
    "lib2",
    "config/build.json"
  ]
}</code>

atau dalam fail konfigurasi nodemon.json:

<code class="language-bash">nodemon --ext "js,cjs,mjs,json,njk" ./index.js</code>

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:

<code class="language-json">{
  "ext": "js,cjs,mjs,json,njk"
}</code>

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

<code class="language-bash">nodemon --legacy-watch ./index.js</code>

verbose

Tunjukkan log output terperinci:

<code class="language-json">{
  "legacyWatch": true
}</code>

atau dalam fail konfigurasi nodemon.json:

<code class="language-bash">nodemon --delay 5 ./index.js</code>

env

fail konfigurasi untuk menetapkan pembolehubah persekitaran tertentu: nodemon.json

<code class="language-json">{
  "delay": 5000
}</code>
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
<code class="language-bash">nodemon --verbose ./index.js</code>
:

nodemon.json

Advanced Nodemon
<code class="language-json">{
  "verbose": true
}</code>

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:

<code class="language-bash">npm install -g nodemon</code>

ini akan menjadi:

<code class="language-bash">node --inspect index.js arg1 arg2</code>

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:
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