出于某种原因,grunt-contrib-sass会生成一个组合的.css
文件,而不是多个.css
文件。但这仅在我定义ext
选项时发生。
文件结构:
app/
assets/
stylesheets/
application.web.scss
application.mobile.scss
application.tablet.scss
public/
assets/
咕噜咕噜.js
配置 sass: {
default: {
options: {
compass: false,
noCache: true,
style: 'expanded'
},
files: [{
expand: true,
src: 'application.**.scss',
dest: 'public/assets',
cwd: 'app/assets/stylesheets',
ext: '.css'
}]
}
}
上述配置生成以下内容:
app/
assets/
stylesheets/
application.web.scss
application.mobile.scss
application.tablet.scss
public/
assets/
application.css
如果我完全删除ext
选项,它会生成:
app/
assets/
stylesheets/
application.web.scss
application.mobile.scss
application.tablet.scss
public/
assets/
application.web.scss
application.mobile.scss
application.tablet.scss
我希望它生成的是:
app/
assets/
stylesheets/
application.web.scss
application.mobile.scss
application.tablet.scss
public/
assets/
application.web.css
application.mobile.css
application.tablet.css
我知道我可能忽略了一个非常基本的事情,但我似乎无法为我的一生解决这个问题 XD 所以对我做错了什么有什么想法吗?
显然,问题是文件名包含多个点。这与扩展混淆了。为了解决这个问题,我应该使用 extDot
属性来定义扩展从哪个点开始。我在这里找到了这个答案 https://github.com/gruntjs/grunt/pull/863#issuecomment-22015455 它指向了这里的实际文档 http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically