我的gruntfile.js中有一些这样的东西:
sass: {
app: {
files: {
'<%= meta.cssDist %>style.css': '<%= meta.cssSrc %>style.scss'
}
},
options: {
style: 'nested'
}
},
grunt.registerTask('default', ['sass']);
但这只是一项任务。我如何组合两个或更多任务? 正如我在一些grunt模块中所知道的那样,你可以结合多个这样的任务:
sass: {
dev: {
app: {
files: {
'<%= meta.cssDist %>style.css': '<%= meta.cssSrc %>style.scss'
}
},
options: {
style: 'nested'
}
},
production: {
app: {
files: {
'<%= meta.cssDist %>style.css': '<%= meta.cssSrc %>style.scss'
}
},
options: {
style: 'compressed',
sourcemap: 'none'
}
}
},
// and then register tasks
grunt.registerTask('dev', ['sass:dev']);
grunt.registerTask('prod', ['sass:production']);
但这不起作用,GruntJs没有表现出错误,也没有编译sass。这有什么问题?
答案 0 :(得分:0)
有一个肮脏的黑客,但它至少对我有用。但起初我建议迁移到Gulp,在这里简单的任务是和平的蛋糕。因此,在排序中,您将在initConfig函数中为sass创建默认配置,然后我将使用回调函数注册任务,其中所有魔法都会发生。在那里你将覆盖默认设置,最后你可以运行grunt sassTask或任何名称。
grunt.registerTask("sassTask", function() {
grunt.config.data.sass = {
dist: {
files: {
'test.css': 'test.scss'
}
}
};
grunt.task.run('sass');
});
答案 1 :(得分:0)
我发现了我的错误,它将以这种方式运行这些任务:
sass: {
dev: {
files: {
'<%= meta.cssDist %>style.css': '<%= meta.cssSrc %>style.scss'
},
options: {
style: 'nested'
}
},
production: {
files: {
'<%= meta.cssDist %>style.css': '<%= meta.cssSrc %>style.scss'
}
options: {
style: 'compressed',
sourcemap: 'none'
}
}
}
grunt.registerTask('dev', ['sass:dev']);
grunt.registerTask('prod', ['sass:production']);