【发布时间】:2020-09-10 10:51:10
【问题描述】:
我正在构建一个样式表较少的 React/Antd 项目。
在 webpack 开发服务器上运行时,一切似乎都很好,但是当我构建项目时,当我访问不同的页面时,似乎加载了相同的样式表。
例如,我在第 1 页和第 2 页中设置了卡片组件的样式。 当我访问第 1 页时,Card 组件的样式正确,声明顺序正确:
.my-custom-card {
margin: 10px;
}
.ant-card {
margin: 0;
}
然后,当我访问第 2 页并返回第 1 页时,会加载相同的 ant-card 样式表。声明顺序现在变为:
.ant-card {
margin: 0;
}
.my-custom-card {
margin: 10px;
}
.ant-card {
margin: 0;
}
并且用我的自定义类声明的边距被新加载的 ant-card 样式表覆盖。
为了澄清,唯一包含 .ant-card 的样式表来自 antd 包。此样式表已从同一个包中加载了两次。
这不会发生在 webpack-dev-server 上,只有在我构建项目时才会发生,所以我倾向于在构建过程中出现潜在问题。
【问题讨论】:
-
对于任何偶然遇到这个问题的人,我没有做的是正确优化 webpack SplitChunksPlugin。默认设置应该可以解决问题。 webpack.js.org/plugins/split-chunks-plugin
标签: css reactjs webpack less antd