gpt4 book ai didi

reactjs - 使用 React 和 Webpack 删除未使用的 css

转载 作者:行者123 更新时间:2023-12-03 13:14:56 25 4
gpt4 key购买 nike

我正在尝试使用 purify-css 从我的应用程序中删除未使用的 css 类对于 WebPack。

为了构建这个项目,我使用 ReactscssWebPackPostCss 来构建和编译一切。

到目前为止,我能够取得进展,但有一些问题,我不知道为什么,但预期的结果不正确。我有一个非常非常基本的设置只是为了测试这些场景,所以这是我的 index.html 和 app.js 文件(迄今为止我拥有的唯一文件):

index.html

<body>
<nav>
<a href="">home</a>
</nav>
<hr />
<div id="app"></div>
<footer class="my-other-heading"></footer>
</body>

app.js

class App extends React.Component {
render() {
return (
<h1 className="my-other-heading">Mamamia!</h1>
);
}
}

render(<App />, window.document.getElementById("app"));

在我正在使用的CSS文件上Normalize.css (带有一堆 css 类)和 3 个自定义类:

.my-class {
background-color: #CCDDEE;
}

.my-heading {
color: red;
}

.my-other-heading {
color: blue;
}

预期输出应仅包含这些类:

html, body, nav, a, hr, div, footer, h1, .my-other-heading

但是它还有一些其他类:

.my-heading, h2, h3, h4, [type='checkbox'] (and other similar, e.g.: [type='button']

为什么会发生这种情况?它删除了几乎所有应该删除的类,但其中一些仍然存在,以及索引文件中显然没有使用的类。我不知道它们是否因为 React 方面的其他声明而持续存在,但我仅引用 src 文件。这是我的 purify-css 配置:

new PurifyCSSPlugin({
paths: glob.sync([
path.join(__dirname, '..', 'src', '**/*.html'),
path.join(__dirname, '..', 'src', '**/*.js'),
]),
})

最佳答案

根据我自己的经验(Web 开发经验超过 15 岁),尝试自动删除 CSS 总是会带来比解决的问题更多的问题。

类名可能会在运行时发生变化,有时会以意想不到的方式发生变化。自动删除 CSS 在某种程度上相当于停止问题:一般无法解决,特别也不可靠。

我不知道为什么你没有得到显然应该在那里的类(class)。但我认为您一开始就不应该尝试这样做。

到目前为止,对我来说最好/唯一的解决方案是手动执行,并尽量保持干净。

我意识到这可能不是您正在寻找的答案。

关于reactjs - 使用 React 和 Webpack 删除未使用的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450476/

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