2015-11-26 11 views
0

我正在使用dojo build tools以缩小我的项目。我的代码Dojo构建如何缩小用ECMASCRIPT5编写的代码?

部分是用ECMASCRIPT5编写和运行标准.bat file当我收到的误差和从关闭编译器。

它似乎是一些限制,因为默认情况下编译器在ES3上设置为described here


0 error(s), 1 warning(s) 
builderReference.js.uncompressed.js:15: ERROR - Parse error. getters are not supported in older versions of JS. If you are targeti 
ng newer versions of JS, set the appropriate language_in option. 
     get builder() { 
^ 

我需要能够编译我的ES5代码,我改变.bat file试图通过国旗language_in=ECMASCRIPT5

java -Xms256m -Xmx256m -cp "%~dp0../shrinksafe/js.jar";"%~dp0../closureCompiler/compiler.jar";"%~dp0../shrinksafe/shrinksafe.jar" org.mozilla.javascript.tools.shell.Main "%~dp0../../dojo/dojo.js" baseUrl="%~dp0../../dojo" load=build language_in=ECMASCRIPT5 %* 

不幸的是我仍然收到同样的错误。

我需要知道:

  • 如何来缩小写在ES5代码?
  • .bat file是否正确?
  • 是否可以在xxx.profile.js中添加此配置?

任何想法非常欢迎谢谢。

回答

2

app.profile.js中加入以下配置即可解决问题。

// Set the optimization options for the Google closure compiler. 
optimizeOptions: { 
     languageIn: Packages.com.google.javascript.jscomp.CompilerOptions.LanguageMode.ECMASCRIPT5 
} 

从道场文档:

optimizeOptions(缺省值= “未定义”)该对象被传递到 JavaScript的优化器,以允许编译器特定设置。对于UglifyJS和闭包编译器的设置 可以使用此对象进行设置。

不幸的是,文档没有提供该对象的详细信息。下面有更多的资源一些链接:

http://dojo-toolkit.33424.n3.nabble.com/Build-Pass-options-to-Closure-compiler-td4002152.html

http://dojotoolkit.org/reference-guide/1.10/build/qref.html

https://groups.google.com/forum/#!msg/requirejs/9f4sgewYnAw/G-oSqCz2DSEJ

https://bugs.dojotoolkit.org/ticket/16196

https://github.com/dojo/util/pull/27

http://dojo-toolkit.33424.n3.nabble.com/Build-Pass-options-to-Closure-compiler-td4002152.html

https://bugs.dojotoolkit.org/ticket/16601