我正在学习咕噜声,这太棒了!
背景
我的项目是使用SASS(.scss
)构建的,我使用grunt的compass
插件将多个.scss
编译为输出中的单个.CSS
。
问题:
我正在使用一个jQuery插件,该插件有一个与之关联的.css
文件。我希望我的Grunt做如下:
frontend.css
plugin.css
连结到frontend.css
frontend.css
。我已经尝试为我的CSS添加一个concat规则,该规则在grunt指南针编译之后运行。 concat规则如下所示。
concat: {
css: {
src: ['www/assets/css/frontend.css',
'bower_components/bootstrap-datepicker/css/plugin.css'],
dest: 'www/assets/css/frontend.css'
}
}
这是grunt任务的样子:
grunt.registerTask('default', ['newer:concat:vendors', 'copy', 'uglify', 'compass:dist', 'newer:concat:css', 'newer:cssmin', 'newer:imagemin']);
以下是我正在使用的Grunt插件列表:
// Load Grunt Tasks
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-newer');
如果我调用concat:css
,则会连接plugin.css,但是每次运行任务时,都会再次添加,再次添加,因此将相同CSS的多个副本插入到文件中。
如果我拨打newer:concat:css
,则该文件不会连接到frontend.css
。
非常感谢任何帮助!
答案 0 :(得分:1)
最简单的解决方案是使用grunt-contrib-clean,它可以简单地删除每个版本的文件:
clean: {
css: ['www/assets/css/frontend.css']
}
或者没有安装插件:
grunt.registerTask('clean:css', function () {
grunt.file.delete('www/assets/css/frontend.css');
});