私はcom.samaxes.maven minify-maven-pluginを使用して、GoogleクローズがサポートするいくつかのES6機能を使って書かれたJSソースファイルのコレクションを縮小しています。ここでは、関連する構成が私のPOMである:私は非厳密なモードを指定したにもかかわらず、ES5厳密モードを使用したGoogleクローズ
<!-- minify-maven-plugin: Minification using Google Closure -->
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.6</version>
<executions>
<!-- Creation of the common-[version].js file -->
<execution>
<id>common-minify</id>
<phase>prepare-package</phase>
<configuration>
<charset>UTF-8</charset>
<jsSourceDir>.</jsSourceDir>
<jsSourceFiles>
...
</jsSourceFiles>
<jsFinalFile>./js/common-${project.version}.js</jsFinalFile>
<jsEngine>CLOSURE</jsEngine>
<closureLanguageIn>ECMASCRIPT6</closureLanguageIn>
<closureLanguageOut>ECMASCRIPT5</closureLanguageOut>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
<!-- 2 other similarly configured executions are here. -->
...
</executions>
</plugin>
問題は、私はこの構成のMavenゴールを実行したときに、私は次のエラーメッセージを取得するには、次のとおりです。
[INFO] Creating the merged file [common-1.8.24.js].
[INFO] Creating the minified file [common-1.8.24.min.js].
Jan 03, 2017 12:03:06 PM com.google.javascript.jscomp.LoggerErrorManager println
SEVERE: [1mcommon-1.8.24.js:5577: [31mERROR[39m - object literals cannot contain duplicate keys in ES5 strict mode[0m
supportsDataForwarding: function() {
^
Googleの閉鎖があるようにこれは私には見えます私が<closureLanguageOut>
オプション(see doc here)で非厳密なECMASCRIPT5
モードを指定したとしても、ES5厳密モードを使用してコンパイルしようとしました。厳格なモードを無効にしないのはなぜですか?
私の回避策は、不平を言っていたすべての厳密モードの失敗を修正することでしたが、なぜクロージャが厳密モードを使用していたのかを知りたいのです。 – CullenJ