我正在学习咕噜声,这太棒了!
背景:
我的项目是使用 SASS ( .scss
) 构建的,并且我使用 grunt 的compass
插件将多个编译.scss
成单个.CSS
输出。
问题:
我正在使用一个 jQuery 插件,它有一个.css
与之关联的文件。我希望我的 Grunt 执行以下操作:
- 将 *.SCSS 编译成
frontend.css
- 完成后,连接
plugin.css
到末尾frontend.css
- 缩小
frontend.css
。
我尝试为我的 CSS 添加一个 concat 规则,该规则在 grunt compass 编译后运行。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
.
非常感谢任何帮助!