Как организовать сборку модулей js при помощи Gulp?

По мере изучения javascript, наткнулся на небольшую проблему. У меня есть gulp проект, где я собираю небольшие свои проекты, смотрю изменения и т.д. Но вот только недавно понял, что с модулями js, чтобы их собрать в единое, обстоят немного другие дела.

Знаю, что многие собирают модули при помощи webpack, если не большинство (честно, до него у меня руки еще не дошли). Но можно ли это как то организовать это при помощи Gulp? Хочу в Galp, так как я еще не опытный js разработчик, и всех возможностей того же webpack я пока не могу использовать, из за не знания. Пробывал сделать при помощи browserify, но работает наполовину, не работает слежка изменений watch. Сборка происходит, но выходит всегда ошибка. Не понимаю как сделать, целый день просидел и не врубаюсь) Может у кого то есть примерный конфиг для наглядности?
  • Вопрос задан
  • 1693 просмотра
Пригласить эксперта
Ответы на вопрос 2
zorro76
@zorro76
собираю к примеру вот так, все ок, не жалуюсь
// ~ Compile JS ~
var jsFilter = gulpFilter('**/*.js');

// Concat vendor JS (uglify for production)
gulp.task('js:vendor', function() {
    gulp.src(mainBowerFiles({
          "overrides": {
              "jquery": {
                  "main": "./dist/jquery.min.js"
              },

	          "magnific-popup": {
                  "main": "./dist/jquery.magnific-popup.min.js"
              },

             "slick-carousel": {
                  "main": "./slick/slick.min.js"
              },

              "readmore-js": {
                  "main": "./readmore.js"
              }
          }
  }))
      .pipe(jsFilter)
      .pipe(concat('vendor.js'))
      .pipe(gulpIf(env !== 'dev', uglify()))
	  .pipe(size())
      .pipe(gulp.dest(outputDir + 'js'))
});

// Concat own JS (uglify for production)
gulp.task('js', function() {
    gulp.src(src.js)
        .pipe(jsHint())
        .pipe(jsHint.reporter('default'))
        .pipe(concat('script.js'))
        .pipe(gulpIf(env !== 'dev', uglify()))
        .pipe(gulp.dest(outputDir + 'js'))
	    .pipe(size())
        .pipe(connect.reload());
});
Ответ написан
Zoxon
@Zoxon
Веб-разработчик
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы