Bagaimana saya bisa menjalankan skrip start dari file package.json dengan Nodemon?
Bagaimana saya bisa menjalankan skrip start dari file package.json dengan Nodemon?
Jawaban:
Ini akan menjadi perintah sederhana untuk ini
nodemon --exec npm start
npm start
tetapi tidak memulai server node untuk saya .. bagaimana ia tahu di mana server.js berada?
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
npm start
gagal dalam produksi karena kurangnya nodemon?
npm run start
tidaknpm start
npm start
adalah alias untuknpm run start
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 -e
sakelar dan kemudian memanggil myapp
skrip npm yang merupakan kombinasi sederhana dari mentranspilasi file skrip dan kemudian memulai server.js yang dihasilkan. Ketika saya mengubah file TypeScript, karena -e
peralihan siklus yang sama terjadi dan file .js baru akan dibuat dan dijalankan.
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.js
adalah nama file saya, Anda dapat menggunakan nama lain untuk file ini seperti app.js
.
Setelah itu, jalankan ini di terminal Anda: npm run dev
Penggunaan -exec
:
"your-script-name": "nodemon [options] --exec 'npm start -s'"
nodemon [options] --exec 'npm start -s'
jika Anda ingin melakukannya dari baris perintah.
Pertama ubah file package.json Anda ,
"scripts":
{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
Setelah itu, jalankan perintah
npm run start-dev
app.js
Anda melewati semua yang ./bin/www
...
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
Nodemon memancarkan peristiwa pada setiap perubahan status; start, restart crash, dll. Anda dapat menambahkan file konfigurasi Nodemon (nodemon.json) seperti ini:
{
"events": {
"start": "npm run *your_file*"
}
}
Baca lebih lanjut di acara Nodemon - menjalankan tugas saat server mulai, restart, crash, keluar .
Jika dipasang secara global maka
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Pastikan Anda telah menginstal nodemon
secara global:
npm install -g nodemon
Terakhir, jika Anda adalah pengguna Windows, pastikan bahwa batasan keamanan Windows PowerShell diaktifkan .
Ini akan tergantung pada jenis instalasi Nodemon Anda. Jika Anda menginstal Nodemon secara global dengan menggunakan perintah ( npm install nodemon --global
atau 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 nodemon
maka Anda harus menentukan skripnya. Jika Anda menamainya sebagai start maka npm run start
atau npm start
akan memicu server untuk berjalan.
// Absolutely no need for global installation
"scripts": {
"start": "nodemon index.js"
}
Jika Anda telah nodemon
menginstal secara global, menjalankan nodemon
dalam proyek Anda secara otomatis akan menjalankan start
skrip 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).
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
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"
},