首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义提取器不使用Nuxt PurgeCSS

问自定义提取器不使用Nuxt PurgeCSS
EN

Stack Overflow用户
提问于 2019-08-06 14:32:28
回答 1查看 644关注 0票数 1

我正在使用Nuxt.js并使用Nuxt.js:https://github.com/Developmint/nuxt-purgecss

这个项目使用我自己的CSS,类似于Tailwind (基于实用程序),我有几个类使用@符号。

此包的默认正则表达式为:

代码语言:javascript
复制
return content.match(/[A-z0-9-:\\/]+/g)

有以下课程:

代码语言:javascript
复制
u:w-1/12 u@sm:w-12/12

它正确地清除了第二个,因为它与提取器的正则表达式不匹配。

通过将Nuxt配置中的purgeCSS配置更新为以下内容,我认为:

代码语言:javascript
复制
purgeCSS: {
    extractors: [
        {
            extractor: class {
                static extract(content) {
                    return content.match(/[@A-Za-z0-9-:/]+/g) || []
                }
            },
            extensions: ['html', 'vue', 'js']
         }
    ]
}

这个新的提取器包含@符号,但仍然用@符号清除类名。我尝试了以下正则表达式:

代码语言:javascript
复制
return content.match(/[A-Z]+/g) || []

查看它是否正确地剥离了所有内容(作为测试),但是它仍然保留第一个类,并清除第二个类,尽管它不应该匹配任何类。

这使我相信我没有正确地覆盖默认提取器。

我在这里做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-09 14:19:32

您可以为每个扩展使用一个提取器。

然后,您必须重写默认的。

代码语言:javascript
复制
purgeCSS: {
    extractors: () => [
        {
            extractor: class {
                static extract(content) {
                    return (content.match(/[A-z0-9-:\\/]+/g || []).concat(content.match(/[@A-Za-z0-9-:/]+/g) || [])
                }
            },
            extensions: ['html', 'vue', 'js']
         }
    ]
}

https://github.com/Developmint/nuxt-purgecss/issues/52

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57378410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档