使用Gulp任务替换Less的默认任务
问题描述:
我已经从此tutorial下载了PhoneGap的AngularJS安装程序。使用Gulp任务替换Less的默认任务
现在我想使用Sass而不是Less(因为这是我在用于移植到PhoneGap的项目中使用的)。默认少任务看起来是这样的:
gulp.task('less', function() {
return gulp.src(config.less.src).pipe(less({
paths: config.less.paths.map(function(p){
return path.resolve(__dirname, p);
})
}))
.pipe(mobilizer('app.css', {
'app.css': {
hover: 'exclude',
screens: ['0px']
},
'hover.css': {
hover: 'only',
screens: ['0px']
}
}))
.pipe(cssmin())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(path.join(config.dest, 'css')));
});
我已经试过这咕嘟咕嘟任务社科院:
gulp.task('sass', function(){
return gulp.src('./src/sass/css/main.scss')
.pipe(sass()) // Using gulp-sass
.pipe(gulp.dest('./src/css/'));
});
似乎没有什么是发生(看不到新生成的main.scss
文件)。有人可以帮忙(我以前没有用过Gulp,因为你可能猜到了,虽然我已经通过this看过)
更新: 我实际上并没有取代Less任务,我只是添加了另一个任务为萨斯。
更新2: 我在这里
gulp.task('watch', function() {
if(typeof config.server === 'object') {
gulp.watch([config.dest + '/**/*'], ['livereload']);
}
gulp.watch(['./src/html/**/*'], ['html']);
gulp.watch(['./src/sass/css/*'], ['sass']);
gulp.watch(['./src/js/**/*', './src/templates/**/*', config.vendor.js], ['js']);
gulp.watch(['./src/images/**/*'], ['images']);
});
调用萨斯任务然而,问题似乎是,它没有执行。
更新3: 这里的构建阶段代码
gulp.task('build', function(done) {
var tasks = ['html', 'fonts', 'images', 'sass', 'js'];
seq('clean', tasks, done);
});
答
你的路径是绝对的,而不是相对的。不要忘了点;)
gulp.task('sass', function(){
return gulp.src('./src/sass/css/main.scss')
.pipe(sass())
.pipe(gulp.dest('./src/css/'));
});
+0
不影响结果 – suMi
两种可能性:(1)你'sass'任务没有实际运行,因为你没有调用它(2)你的道路是错误的。 –
@SvenSchoenung我从哪里调用它? – suMi
邓诺。命令行? Gulpfile?你告诉我。 –