设置适当的language_in选项

时间:2013-07-11 07:05:26

标签: javascript maven

我一直在使用com.samaxes.maven缩小版本1.7的maven插件来缩小我的js文件。当我试图建立我的应用程序。我收到错误 - 错误:解析错误。 IE8(及以下)将错误地解析数组和对象文字中的尾随逗号。如果您要针对较新版本的JS,请设置相应的language_in选项。

我的maven插件配置如下所示。

<plugin>
            <groupId>com.samaxes.maven</groupId>
            <artifactId>minify-maven-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <id>default-minify</id>
                    <phase>package</phase>                      
                    <configuration>
                        <jsEngine>closure</jsEngine>    
                        <language_in>ECMASCRIPT5</language_in>                          
                        <cssSourceFiles>                               
                        </cssSourceFiles>                           
                        <jsSourceFiles>
                              <!--  jquery -->
                             <jsSourceFile>core/jquery/1.8.2/jquery-1.8.2.js</jsSourceFile>
                             <jsSourceFile>core/jquery-ui/jquery-ui-1.9.2.custom.js</jsSourceFile>
                             <!--  App -->
                             <jsSourceFile>app-src/app/App.js</jsSourceFile>
                             <!--Date utility-->
                             <jsSourceFile>core/xdate/xdate.js</jsSourceFile>                           
                             <jsSourceFile>app-src/tg/util/Utility.js</jsSourceFile>
                             <jsSourceFile>core/CharCounter.js</jsSourceFile>
                             <!-- Choosen-->
                             <jsSourceFile>core/chosen/chosen.jquery.js</jsSourceFile>
                             <jsSourceFile>core/jquery.uniform.js</jsSourceFile>    

                          </jsSourceFiles>
                          <jsFinalFile>appjs-all.js</jsFinalFile>
                          <linebreak>-1</linebreak>
                          <nomunge>false</nomunge>
                          <verbose>false</verbose>
                          <preserveAllSemiColons>false</preserveAllSemiColons>
                          <disableOptimizations>false</disableOptimizations>
                          <bufferSize>4096</bufferSize>
                    </configuration>
                    <goals>
                        <goal>minify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

我甚至使用language_in作为ECMASCRIPT5。但无法弄清楚我收到错误的原因。

谢谢大家。

3 个答案:

答案 0 :(得分:2)

使用Closure,将“language_in”定义改为“closureLanguage”。

例如:

 <plugin>
  <groupId>com.samaxes.maven</groupId>
  <artifactId>minify-maven-plugin</artifactId>
  <version>1.7.4</version>
  <executions>
    <execution>
      <id>default-minify</id>
      <configuration>
        ...
        <jsEngine>CLOSURE</jsEngine>
        <closureLanguage>ECMASCRIPT5</closureLanguage>   <--- correct way
        ...
      </configuration>
      <goals>
        <goal>minify</goal>
      </goals>
    </execution>
  </executions>
</plugin>
祝你好运!

答案 1 :(得分:1)

将CLOSURE更改为YUI。这是默认值。为我工作。 : - )

答案 2 :(得分:0)

我很确定“language_in”选项特定于闭包jsEngine。将它改为'yui'对我有用。

此外,此处列出了此插件的可用选项:http://samaxes.github.io/minify-maven-plugin/minify-mojo.html