我正在使用grunt-contrib-compass
将我的SCSS文件处理为单个CSS文件。基本上,指南针会考虑与app/styles/**/*.scss
匹配的所有SCSS文件,并将它们编译为.tmp/styles/main.css
。
我想将此行为分为:
app/styles/specific/**/*.scss
至.tmp/styles/specific.css
app/styles/**/*.scss
至.tmp/styles/main.css
(忽略specific
)但是,我不知道如何配置关于我的配置文件的grunt非常简单:
options: {
sassDir: '<%= yeoman.app %>/styles',
cssDir: '.tmp/styles',
imagesDir: '<%= yeoman.app %>/images',
javascriptsDir: '<%= yeoman.app %>/scripts',
fontsDir: '<%= yeoman.app %>/styles/fonts',
importPath: '<%= yeoman.app %>/bower_components',
relativeAssets: true
}
我无法找出任何解决方案,特别是因为指南针文档指出cssDir
和sassDir
仅允许字符串作为参数。这是否必须在其他任务中完成?
答案 0 :(得分:6)
我认为你应该尝试对罗盘有内部支持的grunt-contrib-sass:
https://npmjs.org/package/grunt-contrib-sass
来自文档:
compass
Type: Boolean
Default: false
Make Compass imports available and load project configuration
(config.rb located close to the Gruntfile.js).
你可以使用gruntjs的全球模式:
http://gruntjs.com/configuring-tasks#globbing-patterns
sass: {
dist: {
files: [
{
src: 'app/styles/specific/**/*.scss',
dest:'.tmp/styles/specific.css'
},
{
src: ['app/styles/**/*.scss', '!app/styles/specific/**/*.scss'],
dest:'.tmp/styles/main.css'
}
]
}
}