参考: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