我正在使用最新版本的Node,Gulp和gulp-cli。我的gulpfile.js就是这样的。试着喝一口自学。
var gulp = require('gulp'),
sass = require('gulp-sass');
gulp.task('default', function(){
return gulp.src("./styles/_site.scss")
.pipe(sass())
.pipe(gulp.dest("./public"));
});
当我吞咽的时候,我在目的地什么都没得到。不会抛出任何错误。
我将管道移除到sass插件并运行任务,然后只需将文件复制到目的地,然后就完成了。
然后我在流上使用了gulp-plumber。
var gulp = require('gulp'),
sass = require('gulp-sass'),
plumber = require('gulp-plumber');
gulp.task('default', function(){
try {
var bla = sass();
var blah = gulp.src("./styles/_site.scss")
.pipe(plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(sass())
.pipe(gulp.dest("./public"));
} catch(ex) {
console.log(ex);
var blah = gulp.src("./styles/_site.scss")
.pipe(gulp.dest("./public"));
} finally {
return blah;
}
});
我使用vs代码(再次,最新版本;)来调试..
即使是水管工也没有抓到任何错误。我迷失在这里,非常感谢一些建议。
PS:我尝试了gulp-less,看看它是否可以从* .less转换为* .css而且确实如此。那里没有问题。
答案 0 :(得分:2)
将_site.scss
重命名为site.scss
。
gulp-sass
quietly skips all files starting with an underscore。这是因为作为惯例,partials(即您要导入但不应编译为单独CSS输出的文件)must have their name starting with an underscore。
由于您打算为此输入SCSS文件输出CSS文件,因此不将其标记为部分文件,因此您不应该使用前导下划线。