【问题标题】:gulp uncss unexpectedly removing some "ignored" classesgulp uncss 意外删除了一些“被忽略”的类
【发布时间】:2016-09-27 15:10:21
【问题描述】:

我正在使用 gulp uncss。这是我的任务代码:

gulp.task('uncss', () => {
  return gulp.src($uncss.src)
    .pipe(uncss({
        html: JSON.parse(require('fs').readFileSync('./sitemap.json', 'utf-8')),
        ignore: [/\.no-\w+/g, /\.is-\w+/g, /\.plyr\w+/g, /\.lazy\w+/g, /\.\w+\s?\.is-\w+/g]
    }))
    // .pipe(cssnano())
    .on('error', handleErrors)
    .pipe(gulp.dest($uncss.dest))
});

下面一行

.is-menu-open .menu__btn span:before, .is-menu-open .menu__btn span:after {
  background-color: #000;
}

编译为,一旦我通过上面的 gulp 任务运行代码。

.is-menu-open .menu__btn span:before {
  background-color: #000;
}

任何想法,我的正则表达式技能有些欠缺!

基本上我需要忽略选择器中任何带有.is- 的类。

【问题讨论】:

  • 我感觉uncss 没有捕捉到正则表达式的全局标志,因为/\.is-\w+/g 应该捕捉到这一点。指定整个班级.is-menu-open 是否有效?另外,内联忽略(在css上)对你有用吗?像这样:/* uncss:ignore */
  • 我正在测试regex101.com 上的表达式,它们符合预期。我不知道 /* uncss:ignore */ ,我会试一试......谢谢

标签: javascript regex uncss gulp-uncss


【解决方案1】:

根据documentation

ignore 和 ignoreSheets 选项的正则表达式应该用引号引起来。

{"ignore": [ ".unused", "/^#js/" ]}

【讨论】:

  • 您提供的示例仅适用于使用 uncssrc 选项从 json 文件加载选项。如果使用ignore 选项,情况并非如此。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多