Saya sedang berjuang dengan hal yang sama untuk lingkungan pengembangan saya sampai saya perhatikan bahwa nodemon
API memungkinkan kami untuk mengubah perilaku default untuk menjalankan perintah kustom. Sebagai contoh:
nodemon --watch 'src/**/*.ts' --ignore 'src/**/*.spec.ts' --exec 'ts-node' src/index.ts
Atau bahkan lebih baik: externalize config nodemon ke nodemon.json
file dengan konten berikut, dan kemudian jalankan nodemon
, seperti yang disarankan Sandokan:
{ "watch": ["src/**/*.ts"], "ignore": ["src/**/*.spec.ts"], "exec": "ts-node ./index.ts" }
Dengan melakukan ini, Anda akan dapat memuat ulang suatu ts-node
proses tanpa harus khawatir tentang implementasi yang mendasarinya.
Bersulang!
Diperbarui untuk versi nodemon terbaru:
Buat nodemon.json
file dengan konten berikut.
{
"watch": ["src"],
"ext": "ts",
"ignore": ["src/**/*.spec.ts"],
"exec": "ts-node ./src/index.ts" // or "npx ts-node src/index.ts"
}
index.ts
adalah contoh kilat, bagaimana saya bisa membunuhnya dan memulai kembali{ "watch": ["src/**/*.ts"], "ignore": ["src/**/*.spec.ts"], "exec": "ts-node ./app-server.ts" }
dan cukup ketiknodemon
./
sebelum nama folder dan itu rusak. Ini bekerja untuk saya:{ "verbose": true, "watch": ["server/**/*.ts"], "ext": "ts js json", "ignore": ["server/**/*.spec.ts"], "exec": "ts-node index.ts" }
. Dan baris perintah:nodemon --watch server/**/*.ts --ignore server/**/*.spec.ts --verbose --exec ts-node index.ts
ext
di file konfigurasi, jadi ini mencari perubahan ts. File konfigurasi saya terlihat seperti ini:{ "watch": ["src/**/*.ts"], "ignore": ["src/**/*.spec.ts"], "ext": "ts js json", "_exec": "node dist/startup.js", "exec": "ts-node src/startup.ts" }
Saya sudah membuang
nodemon
dants-node
mendukung alternatif yang jauh lebih baik,ts-node-dev
https://github.com/whitecolor/ts-node-devLari saja
ts-node-dev src/index.ts
sumber
tsc --watch
.nodemon
dengants-node
. Terima kasih!"start": "ts-node-dev src"
. Tidak perlu untuk babel, nodemon, atau konfigurasi apa pun yang menyertainya. Semuanya ditangani untuk Anda.Berikut alternatif jawaban HeberLZ HeberLZ, menggunakan skrip npm.
Saya
package.json
:-e
flag mengatur ekstensi untuk dicari,-w
mengatur direktori yang ditonton,-x
mengeksekusi skrip.--inspect
dalamwatch:serve
skrip sebenarnya adalah flag node.js, itu hanya memungkinkan protokol debugging.sumber
ts-node --inspect -- src/index.ts
sekarang karena ini .-e ts -w ./src
melakukan trik untuk saya - ini bekerja dengan proyek yang dihasilkan loopback4 CLIKhusus untuk masalah ini saya telah membuat
tsc-watch
perpustakaan. Anda dapat menemukannya di npm .Kasus penggunaan yang jelas adalah:
tsc-watch server.ts --outDir ./dist --onSuccess "node ./dist/server.js"
sumber
"[...] similar to nodemon but for TypeCcript."
:)Ini bekerja untuk saya:
Rupanya terima kasih karena permintaan penarikan ini: https://github.com/remy/nodemon/pull/1552
sumber
ts-node
menginstal.node_modules/
? Bagi saya itu gagal jika saya tidak memilikinya.ts-node
diinstal. Menjalankan perintah ini tanpats-node
akan menghasilkanfailed to start process, "ts-node" exec not found
kesalahan. Anda mungkin memiliki ini sebagai artefak sisa dinode_modules
. Yang sedang berkata, solusi ini jauh lebih baik karena tidak memerlukan konfigurasi tambahan.Tambahkan
"watch": "nodemon --exec ts-node -- ./src/index.ts"
kescripts
bagian Andapackage.json
.sumber
Anda bisa menggunakan ts-node-dev
Ini me-restart proses simpul target ketika ada file yang diperlukan berubah (sebagai simpul-dev standar) tetapi berbagi proses kompilasi Script antara restart.
Install
dan package.json Anda bisa seperti ini
sumber
saya lakukan dengan
dan benang mulai .. ts-node tidak suka 'ts-node'
sumber
Saya lebih suka untuk tidak menggunakan ts-node dan selalu dijalankan dari folder dist.
Untuk melakukannya, cukup atur package.json Anda dengan konfigurasi default:
dan kemudian tambahkan file konfigurasi nodemon.json :
Di sini, saya menggunakan "exec": "npm restart"
sehingga semua file ts akan mengkompilasi ulang ke file js dan kemudian restart server.
Untuk menjalankan sementara di lingkungan dev,
Dengan menggunakan pengaturan ini, saya akan selalu menjalankan dari file yang didistribusikan dan tidak perlu untuk ts-node.
sumber
tambahkan ini ke file package.json Anda
dan untuk membuatnya bekerja, Anda juga perlu menginstal ts-node sebagai dev-dependency
jalankan
yarn dev
untuk memulai server devsumber