[ant-design]当引用antd/dist/antd.min.js时StyleProvider无法使用

2024-07-05 858 views
9

https://github.com/Beven91/antdv5-style

从代码分析看,当官方打包antd到dist时,@ant-design/cssinjs的StyleProvider会被包含在antd/dist/antd.min.js

在使用时,由于只能从 @ant-design/cssinjs中获取StyleProvider, 这样和antd.min.js使用的不是同一个StyleProvider实例,

如果要解决的话,目前只能自己二次dist/antd.min.js,这样会增加使用成本。

StyleProvider能正常工作

StyleProvider由于内部的StyleContext不是同一个,所有配置都失效

Environment Info
antd 5.10.0
React 18.2.0
System MacOs
Browser Chrome 110

回答

8

看样子是暴露一个出来好点

4

三方库如果用了 @ant-design/cssinjs 你这个又失效了。应该和 moment 一样做 exclude 处理。

6

@zombieJ 这样用户是不是用不了 antd/dist/antd.min.js 了?

1

这个和 @PeachScript 聊过,就是打包的时候 exclude 掉即可。

4

啥…之前不是没聊出最终方案么

9

如果使用antd.min.js, 其他js文件加载的三方库,本来也会失效吧。如果不暴露相关API,就没办法在使用antd.min.js的场景下处理浏览器兼容性。antd.min.js将StyleProvider打包进去了,就算主项目exclude掉,其他地方也无法访问antd.min.js中的StyleProvider