Grunt手表& TypeScript - 如何让它更快?

时间:2015-10-09 15:41:20

标签: node.js typescript grunt-contrib-watch grunt-ts

我有一个复杂的TS编译工作流程,我想让我的观察者更快(而且仍然聪明)。我目前有3个不同的TS编译,在Grunt启动时执行,但也会在观察更改时执行。

grunt-ts配置: https://gist.github.com/Vadorequest/f1fb95ab4bbc786f420b

grunt-watch配置: https://gist.github.com/Vadorequest/eaa82c292a5d3e1ee51f

目前有效。 但每次在属于一组文件的任何TS文件中进行更改时,重新编译每个文件都需要花费太多时间。我正在寻找一种只编译需要编译的内容的方法,以聪明的方式。 (意思是如果A.ts继承了B.ts,如果B被更改,那么A也应该被重新编译,因为WebStorm IDE能够使用其 Files Watchers 来实现这一点) p>

我在https://github.com/TypeStrong/grunt-ts#fast上读到了关于快速编译的内容,但似乎我不能使用它,但我对此感到困惑。 (见https://github.com/TypeStrong/grunt-ts/issues/293

我正在寻找解决方案,也是为了建议,因为我认为我的设置可以改进。在服务器和客户端上拥有服务器端TS文件甚至共享TS文件是很棒的,但它增加了许多难以理解和维护的编译工作流程。也许使用最近的功能tsconfig.json会有所帮助吗?任何建议将不胜感激。

更多详情:

  • serverCommonJs:服务器使用之前编译的TS文件来启动应用程序,例如控制器和模型。
  • clientCommonJs:大多数客户端脚本都在CommonJs而不是AMD中,因为它们都是连接和缩小的,并且使用commonJS比使用大量设置的AMD更容易。
  • amd:有些文件是在AMD中编译的,无论是在服务器还是客户端使用,或者两者兼而有之。

在我的计算机上编译一组文件大约需要1.5到2.5秒。编译完成后,它们全部被复制到一个临时文件夹中,该文件夹被提供给浏览器(资产)。所以它只需要5到10秒,如果只编译和复制更改的文件,它可能会快得多。

我对LESS文件也有类似的问题,但这是另一个故事,它应该更容易修复,因为我只有一组LESS文件。

0 个答案:

没有答案