自定义提取器不适用于 Nuxt PurgeCSS
Custom extractor not working with Nuxt PurgeCSS
我正在使用 Nuxt.js 并使用 Nuxt-PurgeCSS:https://github.com/Developmint/nuxt-purgecss
这个项目使用我自己的 CSS 类似于 Tailwind(基于实用程序),我有一些使用 @ 符号的 classes。
这个包的默认正则表达式是:
return content.match(/[A-z0-9-:\/]+/g)
具有以下 classes:
u:w-1/12 u@sm:w-12/12
它正确地清除了第二个,因为它与提取器的正则表达式不匹配。
我想通过将 Nuxt 配置中的清除CSS 配置更新为以下内容:
purgeCSS: {
extractors: [
{
extractor: class {
static extract(content) {
return content.match(/[@A-Za-z0-9-:/]+/g) || []
}
},
extensions: ['html', 'vue', 'js']
}
]
}
这个新的提取器包括 @ 符号,但仍然清除带有 @ 符号的 classname。我试过以下正则表达式:
return content.match(/[A-Z]+/g) || []
查看它是否正确剥离所有内容(作为测试)但它仍然保留第一个 class 并清除第二个,即使它不应该匹配任何内容。
这让我相信我没有正确覆盖默认提取器。
我做错了什么吗?
您可以为每个分机使用一个提取器。
然后,您必须覆盖默认值。
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']
}
]
}
我正在使用 Nuxt.js 并使用 Nuxt-PurgeCSS:https://github.com/Developmint/nuxt-purgecss
这个项目使用我自己的 CSS 类似于 Tailwind(基于实用程序),我有一些使用 @ 符号的 classes。
这个包的默认正则表达式是:
return content.match(/[A-z0-9-:\/]+/g)
具有以下 classes:
u:w-1/12 u@sm:w-12/12
它正确地清除了第二个,因为它与提取器的正则表达式不匹配。
我想通过将 Nuxt 配置中的清除CSS 配置更新为以下内容:
purgeCSS: {
extractors: [
{
extractor: class {
static extract(content) {
return content.match(/[@A-Za-z0-9-:/]+/g) || []
}
},
extensions: ['html', 'vue', 'js']
}
]
}
这个新的提取器包括 @ 符号,但仍然清除带有 @ 符号的 classname。我试过以下正则表达式:
return content.match(/[A-Z]+/g) || []
查看它是否正确剥离所有内容(作为测试)但它仍然保留第一个 class 并清除第二个,即使它不应该匹配任何内容。
这让我相信我没有正确覆盖默认提取器。
我做错了什么吗?
您可以为每个分机使用一个提取器。
然后,您必须覆盖默认值。
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']
}
]
}