create-react-app MINIFY_CSS选项

2cmtqfgy  于 2022-10-28  发布在  React
关注(0)|答案(1)|浏览(117)

您的建议是否与某个问题相关?

  • 捆绑包大小大于所需大小,因为没有缩小/模糊CSS的选项,即使CRA已经有支持它的工具
  • Bot/Scraper可能是一个麻烦,可以通过每个构建的唯一类名来部分缓解,这样基于选择器的遍历就不那么可靠了

描述您想要的解决方案

启用样式缩小的MINIFY_CSS标志。与GENERATE_SOURCEMAP选项类似。仅适用于生产版本。
如果启用,则可以在此处将适当的选项传递给css-loader(以及postcss-loader):
https://github.com/facebook/create-react-app/blob/main/packages/react-scripts/config/webpack.config.js#L131
或在此处转到css-minimizer-webpack-plugin
https://github.com/facebook/create-react-app/blob/main/packages/react-scripts/config/webpack.config.js#L300
webpack.config.js有一个从GENERATE_SOURCEMAP派生的shouldUseSourceMap
此处提供了来自早期请求的实施建议:#8984(备注)
一个例子,有人弹射达到这一点:https://medium.com/swlh/minifying-tailwind-css-with-create-react-app-b8615a82b33b
这将不是一个明智的默认设置。这将破坏依赖可预测选择器正常工作的站点。在要进行集成测试的构建上关闭标志将使它们更容易创作。标志似乎是最合适的。

描述您考虑过的备选方案

在现有集合中找不到相关标志:https://create-react-app.dev/docs/advanced-configuration
除了弹出之外,在生成的构建输出上运行cssnano。没有尝试过,因为它会引入脆弱性。

其他上下文

以前对此功能的请求在此处标记为已过时:
#8984
#6349
更大范围:可能值得考虑通过https://purgecss.com/之类的方式设置一个标志来删除未使用的样式

z0qdvdin

z0qdvdin1#

在2020年我已经提交了这个功能#9223的PR,但我失去了希望,让它合并😄

相关问题