


Menggunakan nodemon dan menonton di node.js untuk dimulakan semula secara langsung
Feb 08, 2025 am 10:00 AM
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
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
mod
- Nodemon
- Nodemon adalah modul node.js pihak ketiga yang dibangunkan oleh pakar JavaScript Remy Sharp. (Dia berkata anda boleh menyebutnya mengikut kehendak!)
--watch
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
Aplikasi anda akan bermula seperti biasa, tetapi ia akan dimulakan semula secara automatik apabila anda mengedit dan menyimpan fail sumber. Tidak perlu tekan
ctrlnode --inspect index.js arg1 arg2|
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
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 menjalankannodemon.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
atau anda boleh melakukan ini dalam fail konfigurasi nodemon.json
:
nodemon --inspect index.js arg1 arg2
Abaikan
Begitu juga, anda boleh memilih untuk mengabaikan jalan:
nodemon --help
atau anda boleh melakukan ini dalam fail konfigurasi nodemon.json
:
nodemon --watch lib1 config/*.json ./index.js
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" ] }
atau anda boleh melakukan ini dalam fail konfigurasi nodemon.json
:
nodemon --ignore lib2 config/build.json ./index.js
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" ] }
atau dalam fail konfigurasi nodemon.json
:
nodemon --ext "js,cjs,mjs,json,njk" ./index.js
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" }
atau dalam fail konfigurasi nodemon.json
(perhatikan bahawa konfigurasi ini menggunakan milisaat bukan beberapa saat):
nodemon --legacy-watch ./index.js
verbose
Tunjukkan log output terperinci:
{ "legacyWatch": true }
atau dalam fail konfigurasi nodemon.json
:
nodemon --delay 5 ./index.js
env
fail konfigurasi untuk menetapkan pembolehubah persekitaran tertentu: nodemon.json
{ "delay": 5000 }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:
nodemon.json
{ "verbose": true }
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
ini akan menjadi:
node --inspect index.js arg1 arg2
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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

Kaedah terbina dalam JavaScript seperti .map (), .filter () dan .reduce () dapat memudahkan pemprosesan data; 1) .map () digunakan untuk menukar elemen satu hingga satu untuk menghasilkan tatasusunan baru; 2) .filter () digunakan untuk menapis elemen mengikut keadaan; 3) .reduce () digunakan untuk mengagregatkan data sebagai nilai tunggal; Penyalahgunaan harus dielakkan apabila digunakan, mengakibatkan kesan sampingan atau masalah prestasi.

Gelung acara JavaScript menguruskan operasi tak segerak dengan menyelaraskan susunan panggilan, webapis, dan barisan tugas. 1. Stack panggilan melaksanakan kod segerak, dan ketika menghadapi tugas -tugas yang tidak segerak, ia diserahkan kepada Webapi untuk diproses; 2. Selepas Webapi melengkapkan tugas di latar belakang, ia meletakkan panggil balik ke dalam barisan yang sama (tugas makro atau tugas mikro); 3. Loop acara memeriksa sama ada timbunan panggilan kosong. Jika ia kosong, panggilan balik diambil dari barisan dan ditolak ke dalam tumpukan panggilan untuk pelaksanaan; 4. Tugas -tugas mikro (seperti janji. 5. Memahami gelung acara membantu mengelakkan menyekat benang utama dan mengoptimumkan pesanan pelaksanaan kod.
