首页 > 解决方案 > 带有 ADVANCED_OPTIMIZATIONS 的 Google 闭包编译器给了我空文件

问题描述

我正在使用的命令是

java -jar closure-compiler-v20181028.jar --compilation_level ADVANCED_OPTIMIZATIONS --js_output_file=out.js input.js

我的 input.js 只包含

function base() {
    var b='xyz';
                if (b.tagName && 0 == b.tagName.search(this.TAGS_)) {
                    if (b.hasAttribute("href") && void 0 !== self.angular) {
                        var f = b.getAttribute("href");
                        if (f.indexOf("{{") >= 0 && f.indexOf("}}") > 0 && !b.hasAttribute("ng-href"))
                            return b.setAttribute("ng-href", f), void b.removeAttribute("href");
                    }
                    for (var a = 0; a < this.URL_ATTRIBUTES_.length; ++a)
                        if (b.hasAttribute(this.URL_ATTRIBUTES_[a]))
                            return this.updateAttributes_(b, a);
                }
            }

我尝试使用 gradle 脚本,结果也相同。任何帮助将不胜感激。

标签: google-closure-compiler

解决方案


如果您不调用base(),代码将被删除,因为它无法访问。

你要么想要调用它,要么添加一个@export符号来告诉 Closure 其他代码需要它。

或者,如果有东西在调用base()它,它可能不会正确地包含在您的构建中。


推荐阅读