Next.js 如何将purgeCss与其他模块导出一起使用?
我想在我的NextJS项目中使用purgeCss。 在文档中,它说我应该将我的Next.js 如何将purgeCss与其他模块导出一起使用?,next.js,postcss,css-purge,Next.js,Postcss,Css Purge,我想在我的NextJS项目中使用purgeCss。 在文档中,它说我应该将我的next.config.js更改为这样: module.exports = withCss(withPurgeCss()) 但是我在哪里设置当前配置 module.exports = { distDir: '../.next', webpack: config => { const env = Object.keys(process.env).reduce((acc, curr)
next.config.js
更改为这样:
module.exports = withCss(withPurgeCss())
但是我在哪里设置当前配置
module.exports = {
distDir: '../.next',
webpack: config => {
const env = Object.keys(process.env).reduce((acc, curr) => {
acc[`process.env.${curr}`] = JSON.stringify(process.env[curr]);
return acc;
}, {});
config.resolve.modules.push(path.resolve('./'));
config.plugins.push(new webpack.DefinePlugin(env));
return config;
},
};
我的postss.config.js:
module.exports = {
"plugins": [
"postcss-flexbugs-fixes",
[
"postcss-preset-env",
{
"autoprefixer": {
"flexbox": "no-2009"
},
"stage": 3,
"features": {
"custom-properties": false
}
}
],
[
'@fullhuman/postcss-purgecss',
{
content: [
'./pages/**/*.{js,jsx,ts,tsx}',
'./components/**/*.{js,jsx,ts,tsx}'
],
defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || [],
safelist: ["html", "body"]
}
],
]
}
module.exports={
“插件”:[
“POSTSS flexbugs修复程序”,
[
“邮政编码预设环境”,
{
“自动刷新器”:{
“flexbox”:“no-2009”
},
“阶段”:3,
“特点”:{
“自定义属性”:false
}
}
],
[
“@fullhuman/postcss purgecss”,
{
内容:[
“./pages/***.{js,jsx,ts,tsx}”,
“./components/***.{js,jsx,ts,tsx}”
],
defaultExtractor:content=>content.match(/[\w-/:]+(?您的配置对象位于最内部的插件调用中
//next.config.js
module.exports=withCss(withPurgeCss({
distDir:“...next”,
网页包:配置=>{
const env=Object.keys(process.env).reduce((acc,curr)=>{
acc[`process.env.${curr}`]=JSON.stringify(process.env[curr]);
返回acc;
}, {});
config.resolve.modules.push(path.resolve('./');
config.plugins.push(新的webpack.DefinePlugin(env));
返回配置;
},
}))
要解决后续使用postss.config.js的问题,请将其替换为基于对象的格式(如页面底部的-所示):
module.exports={
“插件”:{
“postcss flexbugs修复程序”:{},
“邮政编码预设环境”:{
“自动刷新器”:{
“flexbox”:“no-2009”
},
"阶段":3,,
“特征”:{
“自定义属性”:false
}
},
“@fullhuman/postss purgecss”:{
“内容”:[
“./pages/***.{js,jsx,ts,tsx}”,
“./components/***.{js,jsx,ts,tsx}”
],
“defaultExtractor”:content=>content.match(/[\w-/:]+(?尝试了该方法,但在生成时遇到此问题:TypeError:在以下位置找到无效的PostCSS插件:插件[0]
你能显示你的postsss.config.js
文件吗?你可以将它添加到你的问题中。当然,你刚刚将它添加到问题中更新了我对postsss-config问题的回答。我建议查看Stackoverflow或提出一个关于该问题的新问题,因为此时该问题超出了原始问题的范围。只需指出由于Next.js 9.3,您不需要使用Next purgecss
。可以通过postss.config.js
()完全完成配置。这是否意味着我不需要使用CSS(使用purgecss
)执行?是的,这就是它的意思。