如何使用npm命令编译打字稿?
那么我只是想知道是否有任何命令将直接编译打印脚本代码并获得输出。 现在,我正在做的是,每当我在文件中进行更改时,我都必须重新运行命令来编译它
npm开始
这启动浏览器,然后我必须停止执行使用CTRL + C,然后我必须使用npm命令运行该文件
节点文件名
看到输出。
所以我想知道的是,是否有任何npm命令将编译.ts文件,并看到我在文件中所做的更改,而我运行该文件使用
节点文件名
命令
您可以使用--watch
参数启动tsc
命令( --watch
编译器)。
这是一个想法:
- 使用
tsconfig.json
文件configuration打字稿 - 运行
tsc --watch
,所以每次更改一个.ts
文件时,tsc
都会编译它并生成输出(假设你configuration了./dist
来将输出放在./dist
文件夹中) - 使用
nodemon
监视nodemon
中的文件./dist
已更改,是否需要重新启动服务器。
这里有一些脚本(放在package.json
)可以帮助你做到这一点(你将需要安装以下模块npm install --save typescript nodemon npm-run-all rimraf
)
"scripts": { "clean": "rimraf dist", "start": "npm-run-all clean --parallel watch:build watch:server --print-label", "watch:build": "tsc --watch", "watch:server": "nodemon './dist/index.js' --watch './dist'" }
那么你只需要在terminal中运行npm start
这是基于@ThomasThiebaud提出的解决scheme。 我不得不稍微修改一下,以确保在nodemon尝试启动服务器之前,这些文件是在dist/
中构build的。
"scripts": { "clean": "rimraf dist", "build": "tsc", "watch:build": "tsc --watch", "watch:server": "nodemon './dist/index.js' --watch './dist'", "start": "npm-run-all clean build --parallel watch:build watch:server --print-label" },
你仍然需要运行npm start
来启动整个事情。
- 试图编译“zone.js”作为外部模块,但它看起来像一个全局模块
- 在TypeScript中的Http请求
- 如何在打字稿中重载Node.js Writable end方法
- 我可以直接在浏览器中使用Node Package Manager(npm)下载的“.JS”吗?
- 部署打字稿NodeJS服务器
- 当使用angular version 2.4.9,typescript&webpack version 2.2.1时,属性'map'在types'Observable <Response>'上不存在
- 用于angular度2/4项目的自定义日志文件
- 创buildPowerBI的自定义视觉时,无法在NodeJS中使用MomentJS
- 如何从其他js文件扩展类而不需要声明文件