这与编译器版本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
我做错了什么?
答案 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