根据this,可以使用Gulp从Ruby编译susy安装。 但是由于性能和弃用,是否可以使用gulp-sass而不是gulp-compass或gulp-ruby-sass? 实际上我在gulpfile.js中使用它:
gulpfile
var gulp = require('gulp');
// Include plugins
var plugins = require('gulp-load-plugins')();
// Variables de chemins
var source = './sass/**/*.scss'; // dossier de travail
var destination = './css/'; // dossier à livrer
gulp.task('sasscompil', function () {
return gulp.src(source)
.pipe(plugins.sass({
outputStyle: 'compressed',
includePaths: ['/home/webmaster/vendor/bundle/gems/susy-2.2.2/sass']
}).on('error', sasscompil.logError))
.pipe(plugins.csscomb())
.pipe(plugins.cssbeautify({indent: ' '}))
.pipe(plugins.autoprefixer())
.pipe(gulp.dest(destination + ''));
});
但是错误日志不起作用,因为sasscompil没有定义。 然后我需要给所有前指南针包括像susy,sassy-button等的路径。 是否有可能为宝石提供全球化的道路? 另外,尽管使用了gulp-load-plugins,我还能安装gulp插件吗?因为如果我不这样做,gulp就找不到插件。
由于
答案 0 :(得分:1)
您需要将sasscompil.logError
更改为plugins.sass.logError
这样
<强> gulpfile.js 强>
gulp.task('sasscompil', function () {
return gulp.src(source)
.pipe(plugins.sass({
outputStyle: 'compressed',
includePaths: ['/home/webmaster/vendor/bundle/gems/susy-2.2.2/sass']
}).on('error', plugins.sass.logError))
...
});
gulp-sass doc:
传递选项就像你对node-sass一样;它们将被传递,就像你使用node-sass一样。除了gulp-sass内部使用的数据选项。使用文件选项也不受支持,导致未定义的行为可能会更改,恕不另行通知。
示例强>
gulp.task('sass', function () {
return gulp.src('./sass/**/*.scss')
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(gulp.dest('./css'));
});