參考:https://github.com/nestjs/typescript-starter
和 How to get auto restart and breakpoint support with Typescript and Node
安裝
npm install nodemon ts-node --save
npm install typescript --save-dev
直接運行start:dev nodemon會報錯
Error: Cannot find module 'typescript'
必須在當前工程安裝一下ts,全局安裝沒用。https://github.com/clausreinke/typescript-tools/issues/59
其他依賴的庫
npm i --only=dev mocha chai @types/chai babelify babel-preset-env nodemon
npm i --save express @types/mocha
可選的(我常用的)
npm i --save d3-node jsdom d3-selection-multi
主要就是這2件事:
1 tsc 編譯 ts->js npm start 自動化
2 自動檢測代碼修改,自動restart
1比較容易,只要在package.json 用ts-node src/server.ts 或者 tsc & npm src/server.ts都可以
"scripts": { "build-ts": "tsc", "start": "ts-node src/server.ts", "start:dev": "nodemon", "serve": "node dist/server.js", "test": "echo \"Error: no test specified\" && exit 1" },
2 nodemon 需要在根目錄建立nodedom.json,
{ "ignore": ["**/*.test.ts", "**/*.spec.ts", ".git", "node_modules"], "watch": ["src"], "exec": "npm start", "ext": "ts" }
然后在package.json里建立一個
"start:dev": "nodemon",
就可以了
用這個啟動項目,會通過nodedom 啟動npm start 而start我們寫的是
"start": "ts-node src/server.ts",
所以會編譯+運行
而因為是用nodemon啟動的,所以會監控相應的ts文件改動,而自動restart
