在文件保存时自动编译 TypeScript 文件

Posted

技术标签:

【中文标题】在文件保存时自动编译 TypeScript 文件【英文标题】:Automatically compile TypeScript files on file save 【发布时间】:2018-12-10 05:58:17 【问题描述】:

我希望将 vanilla node.js 项目移动到 TypeScript,我很好奇如何使用最新更改重新启动我的服务器,而无需在每次进行更改时都从命令行运行 tsc。

我从this answer 看到两个选项:ts-nodetsc --watch

有人可以就这两个选项之间的区别提供一点颜色吗?我知道它们实现了相同的目标,但它们有何不同?在什么情况下我应该使用其中一个而不是另一个?

【问题讨论】:

在答案中查看此评论:***.com/questions/33535879/… @Aankhen 有帮助,但不能完全回答我的问题 很公平……我的经验主要是使用 ts-node,但我在 IRC 上被告知你应该避免使用它,因为它增加了另一个脆弱的层,不会给你带来太多收益。无论如何我一直在使用它,因为到目前为止不需要编译我的文件以及在引用 TS 文件的堆栈跟踪中获取行号的便利是很有价值的,而且我还没有遇到任何 ts-node 特定的问题. @Aankhen 这是我的担忧之一。如果 tsc 已经做了同样的事情,我不想添加另一个依赖项。不过,在堆栈跟踪中获取行号听起来比 tsc 有很大的好处。嗯,我得考虑一下这个。感谢您的观点! 【参考方案1】:

你可以添加这个脚本

"name_for_your_script" : "tsc <ts file name> --outFile <js file name> -w",

到您的 package.json 文件的脚本部分并输入此代码

npm run name_for_your_script

进入您的终端。这将在您保存时自动编译您的 ts 代码

【讨论】:

@PaulCarroll 虽然我没有对此进行测试,但此答案中的 -'w' 标志应该使其自动运行。 typescriptlang.org/docs/handbook/compiler-options.html @JeffryHouser ,你是对的......我已经删除了我的评论

以上是关于在文件保存时自动编译 TypeScript 文件的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript教程# 5:TS编译选项

自动编译 TypeScript 源代码并复制静态(模板)文件

typescript基础语法

安装typescript的命令,编译typescr为JavaScript

怎么辨别文本文档的编码?

在TypeScript中保存代码后是否可以运行grunt命令?