这是我第一次使用 Taskrunner,但我经常使用 Sass,我真的很喜欢 Sass 语法而不是 SCSS 语法。但是,我想在我的新项目中使用 Bourbon 库,它是用 SCSS 编写的,所以如果我没有用 SCSS 编写所有 CSS,它就不会为我编译,因为我只用 .粗鲁的结局。有没有办法编译两者或使用其他一些这样做的 gulp 插件?使用 Compass、Codekit 或 Jekyll 内置的 Sass 编译器时,我从来没有遇到过这个问题。我附上了我的代码并记住我是新手,所以请随时指出我是否做了一些愚蠢的决定,或者如果有一些看起来很奇怪的东西,我很乐意改进。
var gulp = require('gulp'),
browserify = require('gulp-browserify'),
sass = require('gulp-sass'),
browserSync = require('browser-sync'),
reload = browserSync.reload;
//Tasks regarding scripts--------------------------------------------------|
gulp.task('scripts', function(){
// Single entry point to browserify
gulp.src('vendor/scripts/main.js')
.pipe(browserify({
insertGlobals : true,
debug : !gulp.env.production
}))
.pipe(gulp.dest('./dist/js'))
console.log("This is reloaded");
});
//Tasks regarding styles----------------------------------------------------|
gulp.task('sass', function(){
gulp.src('vendor/styles/**/*.scss')
.pipe(sass({
outputStyle: 'nested',
onError: console.error.bind(console, 'Sass error:')
}))
.pipe(gulp.dest('./dist/css'))
});
//Live reload--------------------------------------------------------------------|
gulp.task('serve', ['scripts','sass'], function () {
gulp.watch([
'dist/**/*'
]).on('change', reload);
gulp.watch('vendor/styles/**/*.scss', ['sass']);
gulp.watch('vendor/scripts/*.js', ['scripts']);
browserSync({
notify: false,
port: 9000,
server: {
baseDir: ['.tmp', 'dist'],
routes: {
'/bower_components': 'bower_components'
}
}
});
});