Closure Compiler升级后不生成缩小文件

时间:2016-05-24 14:11:56

标签: google-closure-compiler

这与编译器版本2013.11.18完美配合:

java -jar C:/closure/compiler_v20131118.jar 
--compilation_level ADVANCED_OPTIMISATIONS
--warning_level=VERBOSE 
--jscomp_off=externsValidation
--summary_detail_level=3
--externs C:\path\externs.js 
--create_source_map C:\path\min.map.js 
--output_wrapper "%output%//# sourceMappingURL=urlToMap
--source_map_format V3 
--js C:\path\file1.js 
--js C:\path\file2.js 
--js_output_file C:\path\min.js 
--version 2>&1

但是,使用编译器版本2016.05.17创建缩小的文件:

java -jar C:/closure/compiler_v20160517.jar 
--compilation_level ADVANCED 
--warning_level=VERBOSE 
--jscomp_off=externsValidation
--summary_detail_level=3
--externs C:\path\externs.js 
--create_source_map C:\path\min.map.js
--output_wrapper "%output%//# sourceMappingURL=urlToMap
--source_map_format V3 
--js C:\path\file1.js 
--js C:\path\file2.js 
--js_output_file C:\path\min.js 
--version 2>&1

我只在控制台中获得此输出:

Closure Compiler (http://github.com/google/closure-compiler)
Version: v20160517
Built on: 2016/05/18 16:21

我做错了什么?

1 个答案:

答案 0 :(得分:1)

从2013年到2016年,编译器发生了很多变化。这个维基页面有一些更重要的变化:

https://github.com/google/closure-compiler/wiki/Managing-Dependencies

这里的数据点是一个适用于我的示例编译命令:

static void Main()
{
    // got this idea ("How to Debug or Test your Windows Service Without Installing it...") from http://www.codeproject.com/Tips/261190/How-to-Debug-or-Test-your-Windows-Service-Without
    #if(!DEBUG)
    var ServicesToRun = new ServiceBase[] 
    { 
        new RoboRprtrService() 
    };
    ServiceBase.Run(ServicesToRun);
    #else
    var rrs = new RoboRprtrService();
    rrs.ConfigureService();

    while (true)
        Thread.Sleep(100);
    #endif
}

您很可能需要添加java -jar ../javascript/closure-compiler/build/compiler.jar --entry_point=goog:myphysicslab.sims.pendulum.DoublePendulumApp --compilation_level=SIMPLE --define=goog.DEBUG=true --define=goog.LOCALE='de' --define=myphysicslab.lab.util.UtilityCore.ADVANCED=false --generate_exports --js=../closure-library/ --js=src --jscomp_error=accessControls --jscomp_error=ambiguousFunctionDecl --jscomp_error=checkTypes --jscomp_error=checkVars --jscomp_error=const --jscomp_error=constantProperty --jscomp_error=fileoverviewTags --jscomp_error=globalThis --jscomp_error=invalidCasts --jscomp_error=misplacedTypeAnnotation --jscomp_error=missingProperties --jscomp_error=missingProvide --jscomp_error=missingRequire --jscomp_error=missingReturn --jscomp_error=newCheckTypes --jscomp_error=strictModuleDepCheck --jscomp_error=suspiciousCode --jscomp_error=typeInvalidation --jscomp_error=undefinedNames --jscomp_error=undefinedVars --jscomp_error=unknownDefines --jscomp_error=uselessCode --jscomp_error=visibility --language_in=ECMASCRIPT5_STRICT --dependency_mode=STRICT --warning_level=VERBOSE --entry_point选项。

以下是使用advanced-compile和output_wrapper的示例命令:

--dependency_mode

你的output_wrapper中的单引号可能有问题吗?

要查看编译器选项:

java -jar ../javascript/closure-compiler/build/compiler.jar
--entry_point=goog:myphysicslab.sims.pendulum.DoublePendulumApp
--compilation_level=ADVANCED --define=goog.DEBUG=true
'--define=goog.LOCALE='\''en'\'''
--define=myphysicslab.lab.util.UtilityCore.ADVANCED=true --generate_exports
--js=../closure-library/ --js=src --jscomp_error=accessControls
--jscomp_error=ambiguousFunctionDecl --jscomp_error=checkTypes
--jscomp_error=checkVars --jscomp_error=const --jscomp_error=constantProperty
--jscomp_error=fileoverviewTags --jscomp_error=globalThis
--jscomp_error=invalidCasts --jscomp_error=misplacedTypeAnnotation
--jscomp_error=missingProperties --jscomp_error=missingProvide
--jscomp_error=missingRequire --jscomp_error=missingReturn
--jscomp_error=newCheckTypes --jscomp_error=strictModuleDepCheck
--jscomp_error=suspiciousCode --jscomp_error=typeInvalidation
--jscomp_error=undefinedNames --jscomp_error=undefinedVars
--jscomp_error=unknownDefines --jscomp_error=uselessCode
--jscomp_error=visibility --language_in=ECMASCRIPT5_STRICT
--dependency_mode=STRICT --warning_level=VERBOSE
'--output_wrapper='\''(function(){%output%}).call(window)'\'''

这将提供有关选项的一些好信息,例如:

java -jar ../closure-compiler/build/compiler.jar --help