gulp-compass + gulp-changed替代品

时间:2015-06-05 09:47:38

标签: ruby node.js gulp

我已经从“gulp-compass”:“^ 2.0.3”更新为“gulp-compass”:“^ 2.1.0”现在看起来像gulp-changed给了我一个错误

app/node_modules/gulp-changed/index.js:31
            if (sourceFile.stat.mtime > targetStat.mtime) {
                               ^
TypeError: Cannot read property 'mtime' of null
app/node_modules/gulp-changed/index.js:31:23
    at Object.oncomplete (fs.js:108:15)

我的gulp任务

gulp.task('sass-desktop', function () {
    return gulp.src('scss/*.scss')
        .pipe(plumber({
            errorHandler: function (error) {
                console.log(error.message);
                this.emit('end');
            }}))
        .pipe(compass({
            config_file: 'config.rb',
            css: 'css',
            sass: 'scss',
            image: 'images',
            debug: false,
            require: ['susy', 'modular-scale']
        }))
        .on('error', function(error) {
            // Would like to catch the error here
            console.log(error);
            this.emit('end');
        })
        .pipe(autoprefixer({
            browsers: ['last 8 versions'],
            cascade: false
        }))
        .pipe(changed('css', {extension: '.css'}))
        .pipe(gulp.dest('css'))
});

当有人在gulp-change上打开一个bug时,我添加了一个评论,但看起来这对ruby sass不起作用: https://github.com/sindresorhus/gulp-changed/issues/25#issuecomment-108256528

你知道这个插件的替代品吗?

2 个答案:

答案 0 :(得分:0)

我并没有真正使用这两个gulp模块,只是走过去看看。

您可以参考有关gulp-changedgulp-newer之间比较的问题:gulp-newer vs gulp-changed

希望它有用:)

答案 1 :(得分:0)

Ruby Sass有几种替代品(过去它给了我一堆错误)。你必须考虑Ruby sass,你正在处理在你的机器上版本化Ruby,然后在特定的项目目录上。可能存在很多冲突错误。

一个流行的选项是node-sass,它实际上使用了C.

我认为最好的选择是使用gulp-scss本地使用节点编译你的sass导致语言之间的冲突错误最少。