1

我一直在使用 com.samaxes.maven minify 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。但无法弄清楚我收到错误的原因。

谢谢你们。

4

3 回答 3

2

使用闭包,通过“closureLanguage”更改您的“language_in”定义。

例如:

 <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>

祝你好运!

于 2015-10-30T12:39:28.423 回答
1

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

于 2015-05-28T11:23:58.427 回答
0

我相当确定“language_in”选项特定于闭包 jsEngine。将其更改为“yui”对我有用。

此外,这里是该插件的可用选项列表:http: //samaxes.github.io/minify-maven-plugin/minify-mojo.html

于 2013-08-19T13:13:24.447 回答