我使用sass(由gulp任务触发)生成css文件。我最近格式化了计算机,此任务停止了工作。
var sass = require('gulp-ruby-sass');
var config = require('../config');
gulp.task('styles', ['copy'], function() {
gulp.src(config.sources.sass)
.pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
.pipe(gulp.dest(config.build.cssDir));
});
在重新安装操作系统(Windows 8.1)之前,该任务可以正常工作。现在,运行此任务后,没有可见的错误,但是没有创建CSS文件。
因此,问题是:
为什么我的gulp任务停止生成我的CSS文件?
你的任务很正常。
gulp-ruby-sass
默认情况下,使用gem sass编译您的scss文件。由于您最近格式化了计算机,所以我敢打赌您安装了Windows的Ruby Installer的最新版本。我进行了一些测试,发现使用Ruby 2.2.2时,sass在Windows上似乎不起作用。sass gem在Ubuntu和OS X上的Ruby 2.2上工作正常。
如果可以的话,我建议您从Ruby 2.2.x降级到Ruby 2.1.6,这应该可以解决您的问题。
如果没有,您可以使用gulp-debug来检查流并从那里开始。
gulp.task('styles', ['copy'], function() {
gulp.src(config.sources.sass)
.pipe(debug({title: 'Before sass:'}))
.pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
.pipe(debug({title: 'After sass:'}))
.pipe(gulp.dest(config.build.cssDir));
});
如果您无法将红宝石版本降级,则可以使用gulp-sass
代替gulp-ruby-sass
。Gulp sass根本不需要ruby,因为它使用C / C ++库-节点中制成的包装器libsass
。
您还可以编辑帖子,并包括您的gulp-ruby-sass
版本(或package.json
)以及您的nodejs版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句