用于jQuery的Closure编译器命令行

问题描述 投票:0回答:1

我在互联网上发现了几个关于在编译文件中输入jquery的论坛

https://developers.google.com/closure/compiler/docs/api-tutorial3?csw=1

Using Google Closure compiler

Is it possible to use Closure Compiler ADVANCED_OPTIMIZATIONS with jQuery?

他们谈论Externs,但是当我编译我的代码时,我收到了一个错误:

$未定义

我试过这个命令:

java -jar compiler.jar --js js / test.js js / test.js --js_output_file min-js / app.min.js --externs jquery-3.3.externs.js --compilation_level ADVANCED_OPTIMIZATIONS

java -jar compiler.jar --js js / test.js js / test.js --js_output_file min-js / app.min.js --externs https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js --compilation_level ADVANCED_OPTIMIZATIONS

test.js是一个我想要压缩的简单代码:

$( document ).ready( function() {

    var val = 0;

    //document.querySelector( ".button" ).addEventListener( "click", upButton );
    $( ".button" ).on( "click", upButton );

    function upButton() {

        val++;
        document.querySelector( ".show" ).innerText = val;

    }

} )

测试JakeParis

文件test.js

jQuery( function($) {

    var val = 0;

    //document.querySelector( ".button" ).addEventListener( "click", upButton );
    $( ".button" ).on( "click", upButton );

    function upButton() {

        val++;
        document.querySelector( ".show" ).innerText = val;

    }

} )

命令

java -jar compiler.jar --js js / test.js --js_output_file min-js / app.min.js --compilation_level ADVANCED_OPTIMIZATIONS --externs js / jquery.js

错误error image

javascript jquery google-closure-compiler
1个回答
0
投票

这可能是由于$变量在全球范围内不可用。通常,jQuery库在全球范围内可用作jQuery而不是$。或许,您应该使用此代替:

jQuery( document ).ready( function($) {

这也可以缩短为

jQuery( function($) {

然后代码块中的所有内容都可以使用$作为jQuery的引用。

© www.soinside.com 2019 - 2024. All rights reserved.