it-swarm.com.ru

Gulp + исходные карты (несколько выходных файлов)

Я только начал играть с gulp , и он очень быстрый и простой в использовании, но, похоже, у него есть критический недостаток: что вы делаете, когда задача должна вывести более одного типа файла?

Например, gulp-less говорит, что он даже не поддерживает параметр sourceMapFilename. Я не хочу, чтобы моя исходная карта была встроена в мой файл CSS. Я обручился? Должен ли я просто вернуться к использованию Grunt, или есть способ справиться с этим?

11
mpen

Эта задача будет принимать несколько файлов, делать с ними что-то и выводить их вместе с исходными картами.

По умолчанию он будет включать исходный код в файлы карт, поэтому вам не нужно распространять файлы с исходным кодом. Это можно отключить, установив для параметра includeContent значение false. Смотрите страница NPM gulp-sourcemaps , чтобы узнать больше об исходных картах.

gulpfile.js:

var gulp = require("gulp");
var plugins = require("gulp-load-plugins")();

gulp.task("test-multiple", function() {
    return gulp.src("src/*.scss")
            .pipe(plugins.sourcemaps.init())
            .pipe(plugins.sass())
            .pipe(plugins.autoprefixer())
            .pipe(plugins.sourcemaps.write("./"))
            .pipe(gulp.dest("result"));
});

package.json

"gulp": "~3.8.6",
"gulp-load-plugins": "~0.5.3",
"gulp-sass": "~0.7.2",
"gulp-autoprefixer": "~0.0.8",
"gulp-sourcemaps": "~1.1.0"

Каталог src:

first.scss
second.scss

Каталог result после запуска задачи test-multiple:

first.css
first.css.map  // includes first.scss
second.css
second.css.map  // includes second.scss
10
Kenneth Sundqvist

В docs показано, как иметь несколько выходных файлов:

gulp.src('./client/templates/*.jade')  
  .pipe(jade())
  .pipe(gulp.dest('./build/templates'))
  .pipe(minify())`  
  .pipe(gulp.dest('./build/minified_templates'));
0
Jake Rayson