gulp:如何忽略另一个SCSS文件中导入的文件?

时间:2018-11-27 20:36:36

标签: gulp

我具有以下文件夹结构:

*--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指令并以某种方式吞噬该列表,以便从构建中排除?

0 个答案:

没有答案