2015-11-23 66 views
0

我最近一直在使用Prepros,自動執行一些魔術,我決定搬到Gulp,我陷入困境。Gulp-sass流程(進口和mixins)

我multpiple SCSS文件如:

mixins.scss(我在這裏存放所有的混入) variables.scss(這裏變量) colors.scss(和顏色) base.scss(基本樣式爲我的應用程序) app.scss(在這裏我導入mixin,變量,顏色和基地 - 在該順序)

現在,與Prepros它曾經像這樣工作 - 首先所有的文件被導入到app.scss,然後生成漂亮的app.css文件,輕鬆無痛。我假設,Gulp會單獨編譯這些文件中的每一個,並在base.scss中失敗,因爲我在那裏使用mixins/variables/colors,Gulp不知道這些文件。

我該如何解決這個問題?我在想,也許單看app.scss會解決這個問題,但是然後app.scss甚至不知道是否有任何變化,例如變量.scss。

我的默認咕嘟咕嘟的任務看起來是這樣的:

// default task for "gulp" 
gulp.task('default', ['sass'], function() { 
    gulp.watch('./assets/scss/*.scss', function() { 
     gulp.run('sass'); 
    }); 
}); 

任何提示?

回答

2

你是否100%確定所有你的partials文件(mixins,變量等)都被正確命名?

這一點,他們開始用下劃線,即:_variables.scss,_mixins.scss等

這似乎是這個問題對你來說,是不是一個大口的問題,而是一個SASS之一。

這樣你就可以告訴sass編譯器這些文件不應該被編譯。

From sass docs:

下劃線讓薩斯知道該文件僅僅是一個部分文件和 ,它不應該被生成到CSS文件。薩斯部分是 與@import指令一起使用。