ES6 или Uglify минимизировать плагин Maven без узла JS - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь найти плагин maven для минимизации файлов Javascript с кодом ES6.Я пробовал minify-maven-plugin 1.7.6, но я думаю, что он не поддерживает ES6 (синтаксис ошибки в параметре по умолчанию в функции).Я попробовал также некоторый плагин, чтобы увеличить ES6 до es5, но он тоже не работает, так что, возможно, у sb была та же проблема.В конце концов, пожалуйста, небольшая инструкция для fronted-maven-plugin, как это сделать с помощью веб-пакета или babel, но я не уверен, что смогу использовать узел js.

Конфигурация minify-maven-plugin:

<executions>
                            <execution>
                                <id>default-minify</id>
                                <goals>
                                    <goal>minify</goal>
                                </goals>
                                <configuration>
                                    <cssSourceDir>static/css</cssSourceDir>
                                    <cssSourceIncludes>
                                        <cssSourceInclude>**/*.css</cssSourceInclude>
                                    </cssSourceIncludes>
                                    <jsSourceDir>static/js</jsSourceDir>
                                    <jsSourceIncludes>
                                        <jsSourceInclude>*.js</jsSourceInclude>
                                        <jsSourceInclude>legacy/**/*.js</jsSourceInclude>
                                    </jsSourceIncludes>
                                </configuration>
                            </execution>
                        </executions>

Ошибка в minfiy-maven-plugin:

[ERROR] missing ) after formal parameters at lazy-module-test.js line 1572:29
                function mojaFunkcja(x = 1, y, z) {
                                         ^

[ERROR] missing } after function body at lazy-module-test.js line 1572:29
                function mojaFunkcja(x = 1, y, z) {
                                     ^

Конфигурация frontend-maven-plugin:

<executions>
                            <execution>
                                <id>install node and npm</id>
                                <goals>
                                    <goal>install-node-and-npm</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>npm install</id>
                                <goals>
                                    <goal>npm</goal>
                                </goals>
                                <configuration>
                                    <arguments>install grunt grunt-cli grunt-contrib-uglify</arguments>
                                </configuration>
                            </execution>
                            <execution>
                                <id>grunt build</id>
                                <goals>
                                    <goal>grunt</goal>
                                </goals>
                            </execution>
                        </executions>

                        <configuration>
                            <nodeVersion>v6.9.1</nodeVersion>
                        </configuration>

Ошибка в плагине frontend-maven:

[INFO]   message: 'Unexpected token operator «=», expected punc «,»',
[INFO]   filename: '../../../../../../../src/main/webapp/static/js/lazy/module-test/controllers/testCtrl.js',
[INFO]   line: 150,
[INFO]   col: 27,
[INFO]   pos: 4283 }

Строка 150:

function mojaFunkcja(x = 1, y, z) {

1 Ответ

0 голосов
/ 25 мая 2019

Этот плагин Maven работает очень хорошо для меня: https://github.com/SpyrosPac/frontend-files-uglifier

Он может минимизировать файлы JS и CSS, используя Uglify.js и CSSO соответственно.Оба выполняются через Rhino, поэтому Node не требуется.

Производительность вполне нормальная, особенно если вы включаете опцию только для сжатия измененных ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...