【问题标题】:How to use the Closure Compiler File Watcher in PHP Storm如何在phpstorm中使用closure编译器文件观察器
【发布时间】:2023-03-13 20:16:02
【问题描述】:

我正在尝试让 Google 的闭包编译器与 PHP Storm 一起使用以缩小 javascript 文件。

我不太确定我在试图让它工作时做错了什么,除了 PHP Storm 自己的文档之外,我在网络上找不到任何指南/教程,这些文档不够具体。

我使用“npm install -g closurecompiler”安装了闭包编译器

它放在这里:“/usr/local/bin/ccjs”(“/usr/local/lib/node_modules/closurecompiler/bin/ccjs”的别名)

然后我在 phpstorm 中创建了我的文件观察器,如下所示:

Link to image

现在当我保存一个 JS 文件时,我收到以下错误:

/usr/local/bin/ccjs --compilation_level SIMPLE_OPTIMIZATIONS --js common.js

选项后的非法源文件:SIMPLE_OPTIMIZATIONS

进程以退出代码 3 结束

不管有没有 SIMPLE_OPTIMIZATIONS 选项,都会出错。

大概它根本无法找到我正在使用的文件,可能是因为它正在使用的路径。但是接下来我的问题非常非常简单,我该如何指定正确的路径?

我也尝试过指定确切的路径(并验证它是正确的),但我得到了同样的错误。

-compilation_level SIMPLE_OPTIMIZATIONS --js $ProjectFileDir$/public/themes/v2/js/$FileName$

作为比较,这适用于我的 less 文件观察器没有问题,所以我认为 $FileName$ 可以正常工作。

--no-color --clean-css $FileName$

【问题讨论】:

    标签: javascript phpstorm google-closure-compiler file-watcher


    【解决方案1】:

    正确的 NPM 模块是 https://www.npmjs.com/package/google-closure-compiler (npm i google-closure-compiler -g)。

    但是您可以通过将 jar 的完整路径指定为 Program 来直接运行使用closurecompiler 安装的compiler.jar(通常是node_modules/closurecompiler/compiler/compiler.jar)。

    Program: path/to/jar/compiler.jar
    Arguments: --compilation_level SIMPLE_OPTIMIZATIONS --js $FileName$
    

    【讨论】:

    • 为编译器.jar 的 node_moduels 路径欢呼,但收到错误“线程“主”java.lang.UnsupportedClassVersionError: com/google/javascript/jscomp/CommandLineRunner : Unsupported major.minor 版本 51.0 中的异常” .我将使用您链接到的 NPM 模块重试。
    • 针对我自己的评论,这似乎是我 Mac 上的 Java 版本的问题,与此问题/答案有关。一旦我找到进一步的解决方案,我会更新:superuser.com/questions/740064/…
    • 是的,这是一个 java 版本问题 - 似乎 compiler.jar 是为 java 1.7 编译的,而您使用的是一些较早的 java 版本(1.6?)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多