Как я могу правильно поддерживать структуру каталогов с Gulp? - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно перенести все мои стили (css, scss, less) в css, а затем свести их к одному файлу index.min.css в dist / test /.Однако я не хочу жестко кодировать dist / test - я хочу, чтобы имя файла было динамическим (не всегда test), чтобы человек мог называть свой файл проекта как угодно.

Моя структура файла выглядиткак это:

dev /

test /

index.html
index.js
index.css
index.scss
index.less

dist /

test /

index.html
index.min.js

Вот соответствующий фрагмент моего кода:

var config = {
    src: "./dev/**/", //src location
    build: "./dist/" //dist location
};

gulp.task('styles', function() {

    var lessStream = gulp.src(config.src + "*.less")
        .pipe(less())
        .pipe(concat('less-files.less'));

    var scssStream = gulp.src(config.src + "*.{sass,scss}")
        .pipe(sass())
        .pipe(concat('scss-files.scss'));

    var cssStream = gulp.src(config.src + "*.css")
        .pipe(concat('css-files.css'));

    var mergedStream = merge(lessStream, scssStream, cssStream)
        .pipe(concat('index.css'))
        .pipe(minify())
        .pipe(gulp.dest(config.build))
        .pipe(browsersync.reload({
            stream: true
        }));

    return mergedStream

});

Этот код правильно объединяет и минимизирует , но расположение неверно - оно заканчивается в dist / вместо dist / test, где я хочу, чтобы оно заканчивалось.

1 Ответ

0 голосов
/ 23 мая 2018
...

var minimist = require('minimist');

var knownOptions = {
  string: 'folder',
  default: { folder: 'test' }
};

var options = minimist(process.argv.slice(2), knownOptions);

var config = {
    src: "./dev/**/",                  // src location
    build: "./dist/" + options.folder  // dist location
};
...

И тогда вы можете вызвать вашу задачу

gulp styles --folder courtney

Пример на основе передать аргументы из командной строки из официальных документов

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