我具有以下文件夹结构:
*--main
|--template1
|--header.scss
|--body.scss
|--footer.scss
|--template2
|--header.scss
|--body.scss
|--footer.scss
|--footer
|--footer.scss
|--header
|--header-left.scss
|--header-right.scss
*--preload
|--base.scss
(但是在实际项目中当然要复杂得多)
preload/base.scss
文件本质上包含所有文件的@import
指令,这些指令必须在页眉中内联以加快页面加载速度(main.css
文件已加载到页面的页脚中):>
@import '../main/header/header-left.scss';
@import '../main/header/header-right.scss';
@import '../main/banner/banner.scss';
@import '../main/banner/banner.scss';
@import '../main/template1/header.scss';
@import '../main/template2/header.scss';
请注意,预加载如何丢失footer.scss
和非标头SCSS文件。
当前,我生成一个小的preload.css
文件,该文件内嵌在<head>
中,一个大的main.css
内嵌在页面的页脚中。这里的问题是main.css
包含所有已经拥有的样式preload.css
。我希望能够排除内联CSS中已经包含的样式。谁可以用gulp做到这一点?我知道我可以明确排除使用
gulp.src([
'!css/ignore.css',
,但是问题在于会产生重复:将在preload.scss
中定义相同的文件,以构建脚本。我的问题是-是否可以枚举@import
指令并以某种方式吞噬该列表,以便从构建中排除?