我有一個用TypeScript編寫並在節點上運行的項目。我真的很努力地用npm編寫腳本來讓它開發。 我試圖做的是:使用npm構建我的打字稿/節點項目
- 清潔
/dist
文件夾 - 如果
.ts
變化,它編譯成/dist
並重新啓動節點
這是我第一次嘗試,從的scripts
節我package.json
:
"clean": "rimraf dist/**/*",
"build": "tsc",
"watch:start": "npm run clean && nodemon -e ts --exec \"npm run start\"",
"start": "npm run build && node dist/index.js"
如果我和開始我的項目,它陷入了一個循環:
npm run watch:start
> nodemon -e ts --exec "npm run start"
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `npm run start`
[nodemon] restarting due to changes...
[nodemon] restarting due to changes...
[nodemon] starting `npm run start`
[nodemon] restarting due to changes...
[nodemon] restarting due to changes...
這裏是我的第二次嘗試,使用npm-run-all
並行運行多個任務:
"clean": "rimraf dist/**/*",
"build": "tsc",
"watch:start": "npm-run-all clean build --parallel --race watch:build watch:serve --print-label",
"watch:build": "tsc -w",
"watch:serve": "nodemon dist/index.js"
這一個效果更好,但它仍然重新啓動節點幾個時間啓動。
建議和改進歡迎!
您應該首先運行tsc來編譯您的打字稿應用程序,並且同時運行tsc -w和您的服務器。 –
這就是我在第二次嘗試中所做的。我在第一次嘗試「乾淨」之後添加了「構建」部分,並獲得了相同的結果。 「tsc -w」在啓動時建立所有.ts文件。 –