这可能是一个重复的问题,但我找不到适合我的需求的解决方案。我正在尝试创建一个sass grunt任务,可以在动态位置生成css文件。这是我的结构:
/components --> xyz --> scss --> xyz.a.scss --> xyz.b.scss --> abc --> scss --> abc.a.scss --> abc.b.scss
grunt任务能否创建一个相对于组件的新文件夹,如下所示:
/components --> xyz --> scss --> xyz.a.scss --> xyz.b.scss --> css --> xyz.a.css --> xyz.b.css --> abc --> scss --> abc.a.scss --> abc.b.scss --> css --> abc.a.css --> abc.b.css
我的当前SASS任务会在SCSS的同一文件夹中生成CSS文件。
我知道我们可以通过在dest中提供组件文件夹的名称来实现此目的,例如对于xyz组件,我可以使用dest作为<%= yeoman.client %>/components/xyz/css。但是,我将不得不为每个组件编写单独的任务。是否有一种方法可以在不实际指定文件夹名称的情况下将目标保留在同一父文件夹中?也就是说,src:
/components --> xyz --> scss --> xyz.a.scss --> xyz.b.scss --> abc --> scss --> abc.a.scss --> abc.b.scss
grunt任务能否创建一个相对于组件的新文件夹,如下所示:
/components --> xyz --> scss --> xyz.a.scss --> xyz.b.scss --> css --> xyz.a.css --> xyz.b.css --> abc --> scss --> abc.a.scss --> abc.b.scss --> css --> abc.a.css --> abc.b.css
我的当前SASS任务会在SCSS的同一文件夹中生成CSS文件。
sass: {
dist: {
files: [{
expand: true,
cwd: '<%= yeoman.client %>/components/',
src: ['**/*.scss'],
dest: '<%= yeoman.client %>/components/',
extDot: 'last',
ext: '.css'
}]
}
},
我知道我们可以通过在dest中提供组件文件夹的名称来实现此目的,例如对于xyz组件,我可以使用dest作为<%= yeoman.client %>/components/xyz/css。但是,我将不得不为每个组件编写单独的任务。是否有一种方法可以在不实际指定文件夹名称的情况下将目标保留在同一父文件夹中?也就是说,src:
['**/scss/*.scss']
,而dest是:['**/css/']
。有没有办法做到这一点?