0
我发现了一个描述,在初始化一个打字原稿项目的NodeJS这里:https://basarat.gitbooks.io/typescript/docs/quick/nodejs.html带打字稿的npm nodejs项目;住构建并不重新编译改变模块
这也说明了一种将平变化autorecompile,如果我使用NPM启动运行代码。
我创建了这个配置的项目:
tsconfig.json:
{
"compilerOptions": {
/* Basic Options */
"target": "es2015", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"outDir": "./build", /* Redirect output structure to the directory. */
/* Strict Type-Checking Options */
"strict": true /* Enable all strict type-checking options. */
},
"files":[
"server.ts",
"db/db.ts",
"protocol/protocol.ts"
]
}
的package.json
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"start": "npm run build:live",
"build:live": "nodemon --exec node_modules\\.bin\\ts-node -- server.ts",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"typescript": "^2.4.2"
},
"devDependencies": {
"@types/express": "^4.0.36",
"@types/node": "^8.0.20",
"express": "^4.15.4",
"mysql": "^2.14.1",
"nodemon": "^1.11.0",
"ts-node": "^3.3.0",
"typescript": "^2.4.2"
}
}
重装工作正常,如果我改变mainfile server.ts
问题
如果我改变db.ts或protocol.ts,重新加载执行,但db.ts和protocol.ts不重新编译。
任何想法?
由于运行,你可以形容,你为什么不使用TS-节点? –
ts-node编译所有的ts文件,监视更改并将它们提供给节点上的新实例,这对生产使用来说不是很好。 ts-node很适合进行测试。 – gilamran