2016-10-28 131 views
1

我試圖從兩個不同的目錄complile並將輸出的文件放在同一個地方。gulp - gulp-sass從許多目錄編譯

文件結構:

- kit 
`- scss 
`- kit.scss 
|- kit-flex.scss 
|- kit-grid.scss 
`- kit-reboot.scss 

- default 
`- scss 
    `- bootstrap.scss 
    |- bootstrap-flex.scss 
    |- bootstrap-grid.scss 
    `- bootstrap-reboot.scss 

咕嘟咕嘟任務:

gulp.task('kit', function(){ 
    gulp.src(['**/scss/*.scss']) 
    .pipe(sass()) 
    .pipe(gulp.dest('dist/assets/css')) 
}); 

我期待所有的編譯文件是在css目錄......但事實並非如此。

預計:

- dist 
`- css 
    `- bootstrap-flex.css 
    |- bootstrap-grid.css 
    |- bootstrap-reboot.css 
    |- bootstrap.css 
    |- kit-flex.css 
    |- kit-grid.css 
    |- kit-reboot.css 
    `- kit.css 

實際輸出:

- dist 
`- css 
    `- default 
    `- scss 
    `- bootstrap-flex.css 
    |- bootstrap-grid.css 
    |- bootstrap-reboot.css 
    |- bootstrap.css 

    `- kit 
    `- scss 
    `- kit-flex.css 
    |- kit-grid.css 
    |- kit-reboot.css 
    |- kit.css 

我如何能達到預期的輸出任何援助?

回答

1

我相信gulp-flatten是你在找什麼。

var flatten = require('gulp-flatten'); 

gulp.task('kit', function(){ 
    gulp.src(['**/scss/*.scss']) 
    .pipe(sass()) 
    .pipe(flatten()) 
    .pipe(gulp.dest('dist/assets/css')) 
}); 
+0

你能否提供一些代碼?我已經試過了,它似乎並沒有工作...雖然,這可能是因爲我不知道如何正確使用它。 –

+0

@JoshMurray我已經更新了我的答案。請讓我知道,如果你能得到它的工作或不,我會盡我所能幫助! –

+0

非常好!我試圖創建另一個名爲'flatten'的任務,並在'kit'任務完成時運行該任務。奇蹟般有效。謝謝:) –