gpt4 book ai didi

javascript - Cssnano 不删除重复项

转载 作者:行者123 更新时间:2023-11-30 11:13:37 24 4
gpt4 key购买 nike

我有一个使用 CSS 模块的 React 网络应用程序。我正在使用 Webpack 构建应用程序。

来自 webpack.config.js 的相关部分:

  {
test: /\.css$/,
use: extractCSS.extract(
{
fallback: 'style-loader',
use: [{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]',
},
},
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: () => [
require('autoprefixer')({}),
require('postcss-discard-empty')({}),
require('postcss-discard-comments')({}),
require('postcss-color-function')({}),
require('postcss-flexbugs-fixes')({}),
require('cssnano')({
preset: ['default', {
discardComments: {
removeAll: true,
},
colormin: false,
cssDeclarationSorter: false,
}],
}),
],
},
},
],
}),
},

缩小似乎有效。我可以在 CSS 中找到一些重复的 CSS 规则,如下所示

CSS

我想知道这是我的配置问题还是我使用的工具(PostCss 和 CssNano)的问题

谢谢。

最佳答案

发生这种情况是因为您的 CSS 压缩器 (cssnano) 是 postcss-loader。加载器应用于每个分离的文件,因此 cssnano 看不到其他文件以删除跨文件的重复项。

使用mini-css-extract-plugin .这个插件也使用 cssnano。但是它在将每个文件连接到一个大包之后调用 cssnano。因此,cssnano 将同时看到所有 CSS,并且能够删除整个包中的重复项。

关于javascript - Cssnano 不删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52564625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com