【问题标题】:PhpStorm: YUI Compressor JS doesn't work with typescriptPhpStorm:YUI Compressor JS 不适用于打字稿
【发布时间】:2020-06-08 12:11:01
【问题描述】:

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

例如,如果我只有一个文件 script.js,YUI Compressor 会成功生成 script.min.js。但是如果我有两个文件 script.ts 和 script.js 并尝试修改 script.js,YUI Compressor 不会生成 script.min.js(没有错误输出或任何输出,YUI Compressor 不会触发)。

有人知道这是怎么回事吗?

更新:

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

【问题讨论】:

  • "我有 2 个文件 script.ts 和 script.js..." 这是因为它们都具有相同的名称...而script.js 最有可能被视为script.ts 的生成/转译版本,因此在索引/解析中被忽略。看到这个答案:stackoverflow.com/a/61857426/783119
  • 您也可以尝试在文件上强制手动运行 File Watcher .. 但不方便:stackoverflow.com/a/20012655/783119
  • 它有效,谢谢,LazyOne!但奇怪的是,我应该使用这种变通方法来完成典型任务。我以前从未使用过打字稿,但很多人都使用过。因此,我认为缩小从 typescript 生成的 js 用于生产应该是他们的典型任务。有没有其他方法可以使用 PHPStorm 中的标准内置功能来实现任务?
  • 我猜想使用 Webpack(它会为您的应用程序进行编译和其余部分)?抱歉,我自己没有使用 TypeScript,所以无法给出更准确的答案。

标签: javascript typescript phpstorm yui-compressor


【解决方案1】:

内置的 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>
  • 重新打开项目

【讨论】:

    猜你喜欢
    • 2017-10-25
    • 2017-03-19
    • 1970-01-01
    • 2018-09-10
    • 2019-12-28
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多