我正在使用Nuxt.js并使用Nuxt.js:https://github.com/Developmint/nuxt-purgecss
这个项目使用我自己的CSS,类似于Tailwind (基于实用程序),我有几个类使用@符号。
此包的默认正则表达式为:
return content.match(/[A-z0-9-:\\/]+/g)有以下课程:
u:w-1/12 u@sm:w-12/12它正确地清除了第二个,因为它与提取器的正则表达式不匹配。
通过将Nuxt配置中的purgeCSS配置更新为以下内容,我认为:
purgeCSS: {
extractors: [
{
extractor: class {
static extract(content) {
return content.match(/[@A-Za-z0-9-:/]+/g) || []
}
},
extensions: ['html', 'vue', 'js']
}
]
}这个新的提取器包含@符号,但仍然用@符号清除类名。我尝试了以下正则表达式:
return content.match(/[A-Z]+/g) || []查看它是否正确地剥离了所有内容(作为测试),但是它仍然保留第一个类,并清除第二个类,尽管它不应该匹配任何类。
这使我相信我没有正确地覆盖默认提取器。
我在这里做错什么了吗?
发布于 2019-08-09 14:19:32
您可以为每个扩展使用一个提取器。
然后,您必须重写默认的。
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://stackoverflow.com/questions/57378410
复制相似问题