Gulp v3.8.8 не будет соответствовать папке контроллера - PullRequest
0 голосов
/ 22 января 2019

Я хочу исключить контроллер dir из моей папки js и сохранить файлы контроллера js в том же состоянии в папке dist.

Пример:

js/controller/order/controller.js

js/controller/item/controller.js

Поэтому, когда я собираю проект, он должен находиться в папке dist с такой же структурой, но не в одном файле js.

gulp.task('js', function() {
    gulp.src('./styles')
        .pipe(concat('scripts.js'))
        .pipe(gulp.dest('./dist/js'))
        .pipe(browserSync.reload({
            stream: true
        }));
});

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Вы можете исключить папку вашего контроллера с помощью отрицательного большого двоичного объекта:

# example structure 
src
 |--gulpfile.js
 |
 |--include
 |    |-- index.js
 |    `-- another.js
 |
 `--exclude
      `-- exclude.js

, затем в файле gulp:

#gulpfile.js
const gulp = require('gulp');
const merge = require('merge-stream');
const concat = require('gulp-concat');

gulp.task('js', function() {
  const copy = gulp.src('./src/exclude/**/*.js')
    .pipe(gulp.dest('./dist/js'))

  const build = gulp.src(['./src/**/*.js', '!./src/exclude/**/*.js'])
    .pipe(concat('concat.js'))
    .pipe(gulp.dest('./dist/js'))

  return merge(copy, build);
});

Или, если вы не хотите, чтобы они были водиночная задача:

const gulp = require('gulp');
const concat = require('gulp-concat');

gulp.task('concatJs', function() {
  return gulp.src(['./src/**/*.js', '!./src/exclude/**/*.js'])
    .pipe(concat('concat.js'))
    .pipe(gulp.dest('./dist/js'))
});

gulp.task('copyJs', function() {
  return gulp.src('./src/exclude/**/*.js')
  .pipe(gulp.dest('./dist/js'))
})

gulp.task('js', ['concatJs', 'copyJs']);

Результат:

dist
  `--js
      |--concat.js
      `--exclude.js
0 голосов
/ 22 января 2019

Исключите контроллеры из задачи concat с помощью регулярных выражений. Вы можете написать другое задание для копирования контроллеров в папку dist.

Для получения дополнительной информации: https://www.npmjs.com/package/gulp-copy

Конечно, вы можете использовать регулярные выражения, и если вы хотите улучшить свои задачи, используйте gulp.parallel, где это возможно.

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