Что такое хорошая стратегия для объединения и минимизации модулей?задача сборки gulp - concat и minify модули
Я хочу принять это:
<script type="text/javascript" src="bower_components/angular-route/angular-route.js"></script>
<script type="text/javascript" src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script type="text/javascript" src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script type="text/javascript" src="bower_components/satellizer/satellizer.min.js"></script>
etc...
И сделать это:
<script src="js/all_bower_components.js"></script>
Я бегу этот процесс сборки для других моих JS-файлов, которые объединяются и уменьшенная в main.js
, но это легко, потому что моя структура папок для моих собственных файлов JS относительно предсказуема. Но мои компоненты Бауэр не является:
bower_components/
angular/
angular.js
index.js
other random js files which aren't the ones I need
jquery/
dist/
jquery.js
src/
bunch of other crap
Я пытаю его как таковой: Петля через все компоненты и подпапок и просто искать .js
файлы ... но опять же, это может быть в том числе вещи, мне не нужно, как index.js
in Угловой:
gulp.task('modules', function() {
return gulp.src(['bower_components/**/*.js'])
.pipe(concat('modules.js'))
.pipe(uglify())
.pipe(gulp.dest('public/js'));
});
Любые мысли?
Это довольно круто. По какой-то причине я не могу «угадать» конкатенированные JS-файлы: «GulpUglifyError: не удалось минимизировать JavaScript» - все же uglify работает для других моих файлов приложений js – Growler
hmm, не сталкивался с этим - я прохожу мимо через uglify, и у меня не было жалобы - убедитесь, что вы используете 'gulpFilter' для получения только файлов .js для uglify (и потенциально другого фильтра для .css) – derelict
Будет ли это просто' var jsFilter = filter ('**/*. js'); ' затем 'return gulp.src (mainBowerFiles()). pipe (concat ('modules.js')). pipe (jsFilter) ... etc'? – Growler