nodejs + ts 配置

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