我一直在使用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。但无法弄清楚我收到错误的原因。
谢谢大家。
答案 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