【问题标题】:How can I add CSS file in the middle of Gulp.js task?如何在 Gulp.js 任务中添加 CSS 文件?
【发布时间】:2016-06-08 13:22:47
【问题描述】:

如何在管道中间添加 CSS 文件?

gulp.task('css', function () {
  var processors = [
    // list of PostCSS plugins
  ];
  return gulp.src('src/css/style.css') // Add style.css
    .pipe(postcss(processors)) // Use PostCSS
    .pipe(uncss({
        html: ['dist/index.html'] // Remove unused selectors
    }))
  // And here I want to add some other CSS file
    .pipe(nano()) // Minify CSS
    .pipe(gulp.dest('dist/css/'));
});

Gulp-add-src 不适用于 CSS 文件。 .pipe(gulp.src('src/css/other.css')) -> 也不行

我该如何解决这个问题?

【问题讨论】:

    标签: javascript css web gulp


    【解决方案1】:

    如果您想使用多个 src 或需要将不同的格式(如 less、scss、css)合并到一个缩小的 css 文件中,则应该使用合并流,如下例所示:

    gulp.task('build/admin', function() {
    
        var lessStream = gulp.src([...])
            .pipe(less())
            .pipe(concat('less-files.less'))
        ;
    
        var scssStream = gulp.src([...])
            .pipe(sass())
            .pipe(concat('scss-files.scss'))
        ;
    
        var cssStream = gulp.src([...])
            .pipe(concat('css-files.css'))
        ;
    
        var mergedStream = merge(lessStream, scssStream, cssStream)
            .pipe(concat('styles.css'))
            .pipe(minify())
            .pipe(gulp.dest('web/css'));
    
        return mergedStream;
    });
    

    【讨论】:

    • 只是为了说清楚:您需要将merge-stream定义为merge变量:var merge = require('merge-stream');
    猜你喜欢
    • 2014-03-09
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    相关资源
    最近更新 更多