PhpStorm:YUI Compressor JS 不适用于打字稿

PhpStorm: YUI Compressor JS doesn't work with typescript

我一直在解决 PhpStorm 中的问题。我为 js 文件添加了 File Watcher 以最小化它们(我正在使用 YUI Compressor JS)。它适用于 js 文件并创建 .min.js 版本。但是当我创建同名的 typescript 文件时,YUI Compressor 不再处理 js 文件。

例如,如果我只有一个文件script.js,YUI Compressor 会成功生成脚本min.js。但是如果我有 2 个文件 script.ts 和 script.js 并尝试修改 script.js,YUI Compressor 不会生成脚本。min.js(没有错误输出或任何输出, YUI 压缩器不启动)。

有人知道它有什么问题吗?

更新:

LazyOne 的解决方案(编辑 workspace.xml)有效!但奇怪的是,我应该使用这种变通办法来完成典型的任务。我以前从未使用过打字稿,但很多人都这样做。因此,我认为缩小从打字稿生成的 js 用于生产应该是他们的典型任务。有没有其他方法可以使用 PHPStorm 中的标准内置功能来实现任务?

内置的 TypeScript 编译器在启用时会自动将生成的 .js 文件从索引中排除,以便通过将它们添加到 workspace.xml 中的 exactExcludedFiles 列表来获得更好的性能和导航。 相关工单:WEB-24568.

作为解决方法,您需要将 <option name="excludeGeneratedFiles" value="false" /> 添加到您的项目 workspace.xml:

  • 打开.idea/workspace.xml
  • <component name="TypeScriptGeneratedFilesManager"> 部分替换为以下行:
 <component name="TypeScriptGeneratedFilesManager">
   <option name="version" value="1" />
   <option name="excludeGeneratedFiles" value="false" />
   <option name="exactExcludedFiles">
     <list>
     </list>
   </option>
 </component>
  • 重新打开项目