2015-11-25 32 views
0

我需要使用Google Compiler compiler.jar作为构建过程的一部分来缩减一些代码。是否可以为Closure Compiler添加@language ECMASCRIPT5注释JavaScript?

我注意到,默认情况下,当我需要将语言设置为ES5时,编译器设置为ES3。

目前我正在尝试注释我的源代码,以便使用以下脚本发布ES5。

不幸的是@language被忽略。

我的问题:

  • 是否可以强制执行代码的注释@language ECMASCRIPT5 directily在JS源代码?

// ==ClosureCompiler== 
    // @compilation_level SIMPLE_OPTIMIZATIONS 
    // @language ECMASCRIPT5 
    // ==/ClosureCompiler== 


    define([ 
     'dojo/_base/declare', 
     'dojo/topic' 
    ], function (declare, topic) { 
     'use strict'; 
     return declare('Message', null, { 

      _test: 'default', 
      get test() { 
       return this._test; 
      }, 
      set test(value) { 
       this._test = value; 
      }, 


      constructor: function (options) { 

      } 
     }); 
    }); 

回答

1

没有语言不受注解决定 - 而是由编译器选项(标志)。

java -jar compiler.jar -O=SIMPLE --language_in=ECMASCRIPT5 

我意识到web服务使用了特殊注释 - 但它们是文件顶部特殊注释块的一部分。这是一个特殊情况,并未在别处使用。

+0

感谢您的澄清,不幸的是,我从一个.bat文件传递标志时面临一些问题,我真的很感激,如果你可以有一些时间阅读我的问题在这里http://stackoverflow.com/questions/33933183/java-lang-classnotfoundexception-com-google-javascript-jscomp-sourcefile再次感谢您的帮助和专家 – GibboK

+1

我看到了您的其他问题,但我不知道答案。 Windows命令外壳是一件奇怪的事情。我专注于使用nodejs在Windows上工作时调用编译器的构建工具。 –

+0

我绝对同意你关于命令shell :)。无论如何感谢您的时间和支持。 – GibboK

相关问题