カスタムコードでES6を使用する場合の縮小の問題

この記事では、カスタムコードでECMAScript 6(ES6)を使用していて、ES6コード 変換されていない場合に発生する縮小エラーについて説明します。

本番環境では、CSSおよびJavaScriptリソースを縮小し、コードを軽量化するために、次のプロパティを有効にします。

minifier.enabled=true

Liferay Digital Enterprise 7.0では、Google Closure Compiler(closure-compiler.jar)を使用して、この縮小プロセスを実行します。 このライブラリのバージョンv20131014には、トランスパイルされない場合、ES1コードが 縮小されないという制限があります。 次のようなエラーが表示されます。

2018-05-18 13:32:48.754 ERROR [http-nio-7180-exec-3][GoogleJavaScriptMinifier:116] (/o/com.liferay.docs.mvcportlet/js/main.js:3): Parse error. missing ; before statement
2018-05-18 13:32:48.756 ERROR [http-nio-7180-exec-3][GoogleJavaScriptMinifier:116] (/o/com.liferay.docs.mvcportlet/js/main.js:5): Parse error. illegal character
2018-05-18 13:32:48.756 ERROR [http-nio-7180-exec-3][GoogleJavaScriptMinifier:116] (/o/com.liferay.docs.mvcportlet/js/main.js:5): Parse error. missing ) after argument list
2018-05-18 13:32:48.757 ERROR [http-nio-7180-exec-3][GoogleJavaScriptMinifier:116] (/o/com.liferay.docs.mvcportlet/js/main.js:5): Parse error. illegal character
2018-05-18 13:32:48.757 ERROR [http-nio-7180-exec-3][GoogleJavaScriptMinifier:116] (/o/com.liferay.docs.mvcportlet/js/main.js:5): Parse error. syntax error
2018-05-18 13:32:48.758 ERROR [http-nio-7180-exec-3][GoogleJavaScriptMinifier:129] {0} error(s), {1} warning(s)

解決

コードをトランスパイルします。

これを行う方法を説明する次の開発者向けチュートリアルを参照してください。

JS Transpiler Gradleプラグイン
ES2015用のJavaScriptファイルの準備

追加情報

minifier.enabled = falseで縮小プロセスを無効にすると、エラーは発生しません。 ただし、運用環境での縮小プロセスを無効にすることはお勧めしません。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています