使用gulp替换单个文件中的字符串

时间:2015-06-13 10:21:12

标签: css gulp gulp-sass gulp-filter

我正在使用单个任务从sass加上条带注释生成css文件,创建源地图并缩小。我正在尝试替换theme.components-md.scss文件中的字符串。

这是我的尝试:

var gulp = require('gulp'),
    sass = require('gulp-ruby-sass'),
    sourceMaps = require('gulp-sourcemaps'),
    minifyCss = require('gulp-minify-css'),
    replace = require('gulp-replace'),
    filter = require('gulp-filter');

gulp.task('vendor:css', function() {
    var themeComponentsFilter = filter('theme.components-md.scss');
    return sass('resources/assets/sass/')
        .pipe(stripComments({
            safe: false
        }))
        .pipe(themeComponentsFilter)
        .pipe(replace(/..\/img\//g, '../../img/vendor/'))
        .pipe(themeComponentsFilter.restore())
        .pipe(sourceMaps.init())
        .pipe(minifyCss())
        .pipe(sourceMaps.write('/', {
            sourceMappingURLPrefix: 'http://core.dev/css/vendor'
        }))
        .pipe(gulp.dest('public/css/vendor'));
});

但它不起作用。

1 个答案:

答案 0 :(得分:0)

我必须过滤 theme.components-md。 css ,而不是过滤 theme.components-md。 scss