Интеграция gulp в создание файла .war

Меня интересует минимизация и объединение файлов css и js моего приложения. Я могу автоматизировать это с помощью gulp, как описано в этом руководстве:

https://travismaynard.com/writing/getting-started-with-gulp

Я использую netbeans для создания файла .war моего проекта для развертывания (щелкните правой кнопкой мыши проект -> очистить и построить). На данный момент gulp просто генерирует файлы в папку в каталоге сборки. И очевидно, что файл .war, который я создаю, не включает эти файлы. Мне было интересно, как я могу включить в сгенерированный файл .war файлы, которые я генерирую с помощью gulp (которые можно найти, скажем: /my_project/build/web/js или /my_project/build/web/css). В настоящее время gulp «следит» за изменениями в файлах js или css, но я бы согласился, если бы просто вызывал задачи gulp один раз (когда генерируется .war).

Нужно ли мне вносить изменения в мой файл build.xml? Нужен ли мне другой способ минимизации этих файлов (например, свернуть и объединить после развертывания)?

Спасибо.


person theyuv    schedule 11.12.2015    source источник
comment
Это немного устарело, однако при поиске WAR и Gulp это лучший результат. Прочтите мой пост о задаче «глоток-войны» и посмотрите, имеет ли он смысл. Если будет достаточно заинтересованных, я намерен реализовать функцию, которую я обсуждал. github.com/ScottWeinstein/gulp-war/issues/6   -  person Andrew T Finnell    schedule 20.10.2016


Ответы (2)


Проверьте этот пакет gulp: https://www.npmjs.com/package/gulp-war Вы можете создать задачу gulp, в которой вы можете определить файлы, которые будут включены/исключены. Образец

var war = require('gulp-war'),
    zip = require('gulp-zip'), 

.....

gulp.task('war', function () {
    gulp.src('./tmp/**')
        .pipe(war({
            welcome: 'index.html',
            displayName: "YOUR APP NAME",
        }))
        .pipe(zip('webapp.war'))
        .pipe(gulp.dest('./target/'));

});
person PSA    schedule 22.05.2017

пожалуйста, попробуйте это:

https://github.com/eirslett/frontend-maven-plugin

В основном maven вызовет gulp для подготовки некоторых файлов, а затем создаст войну для всех из них.

person Justin    schedule 09.01.2016
comment
К сожалению, этот плагин maven делает жизнь намного хуже, чем просто правильная интеграция gulp и maven. Например, можно вызвать npm install на этапе инициализации, ./node_modules/.bin/gulp.cmd на generate-sources и т. д. Этот плагин делает очень сомнительные вещи. Это делает npm, gulp и node_modules бесполезными вне maven. Вместо создания каталога .cache и использования реального каталога node_modules он создает все в новом каталоге. это означает, что вы дублируете все, если вам нужен глоток вне maven. Я ценю усилия, но поверь мне, когда я скажу, что потом будет больно. - person Andrew T Finnell; 05.10.2016