Next.js 如何将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)

我想在我的NextJS项目中使用purgeCss。 在文档中,它说我应该将我的
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
)执行
?是的,这就是它的意思。