您的建议是否与某个问题相关?
- 捆绑包大小大于所需大小,因为没有缩小/模糊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/之类的方式设置一个标志来删除未使用的样式
1条答案
按热度按时间z0qdvdin1#
在2020年我已经提交了这个功能#9223的PR,但我失去了希望,让它合并😄