【发布时间】:2015-04-15 17:43:35
【问题描述】:
我正在尝试将多个 scss 文件合并为一个,类似于Gulp: How to create a task that compiles multiple SASS files?;但是我的一个文件在我的 gulpfile 之上:
/project_root/
fe/
common/
app/src/main/styles/main.scss
gulpfile.js
module/src/foo/styles/main.scss
我的 gulpfile 看起来像这样:
gulp.task('styles', function() {
return gulp
.src(
[
'./app/src/**/main.scss', // included
'../module/src/**/main.scss' // NOT included
],
{ base: '.'} // this doesn't seem to matter
)
.pipe( plumber() )
.pipe(
sass({
errLogToConsole: true,
sourceComments : 'normal'
})
)
// …
.pipe(rename('app.css'))
.pipe(gulp.dest('../build/'));
});
我对我的 js(*.js 而不是 main.scss)做基本相同的事情,它工作得很好:/
更新:我刚刚注意到,当我从上面删除重命名时,确实会处理第二个 main.scss,并且会在同一目录而不是 dest 目录中创建一个 main.css。
更新:我尝试让源路径从它们的共同祖先 '../{common,module}/**/main.scss' 开始(这显着影响了性能),现在我得到了第二个源的 2 个副本文件。
【问题讨论】:
-
我建议将您的文件导入单个文件,而不是处理该单个文件。这可以满足您的需求吗?如果您不希望像那样包含它们,我会单独处理它们,然后使用另一个步骤来连接输出的 CSS 文件。
-
我刚刚尝试连接 2 个 main.scss 文件,但它没有更新
import路径。
标签: javascript gulp gulp-sass