[Bug Report] 使用组件后,会全量引入 lodash
Closed this issue · 9 comments
cryg commented
问题出在哪个包
@taroify/core
问题出在哪个平台/设备/浏览器
微信小程序
平台/设备/浏览器
No response
你正在使用的 Taroify 版本是多少
^0.3.2-alpha.0
描述一下您遇到的问题以及重现步骤
按需引入组件后,打包后文件会全量引入lodash,看了源码,里面所有用到 lodash的 都是 import * as _ from "lodash"; 这个引入的,建议开发者,按需引入 lodash
如果可能的话,请包含一个代码框的链接与复制的问题
No response
你知道如何解决这个问题吗
Yes
您是否愿意参与修复这个问题,并创建一个 PR
None
修复这个问题的解决方案
No response
Pilotager commented
最近我也在考虑这个问题,有些方法已经过时了,没必要再引入 lodash
里面的方法了
cryg commented
最近我也在考虑这个问题,有些方法已经过时了,没必要再引入
lodash
里面的方法了
请问近期会修复这个问题吗
Pilotager commented
最近我也在考虑这个问题,有些方法已经过时了,没必要再引入
lodash
里面的方法了请问近期会修复这个问题吗
正在进行
hbztd commented
在config添加下面配置,使用 lodash-es 替换 lodash
mini: {
webpackChain (chain) {
chain.plugin('tree-shaking-lodash').use(Webpack.NormalModuleReplacementPlugin, [/^lodash$/, 'lodash-es'])
},
},
h5: {
webpackChain (chain) {
chain.plugin('analyzer')
.use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [])
}
}
hbztd commented
之前打包时用 babel-plugin-lodash 处理,后面我改打包时,把babel转换删了,没注意到还有lodash这个处理,导致了lodash全量导入问题。
建议保持现状,不做修改,如有需要,使用上面配置 @Pilotager
Pilotager commented
有些方法太过时了,并且性能低效,我会替换下,其他方法保持不变
获取 Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
发件人: hbztd ***@***.***>
发送时间: Friday, August 30, 2024 2:51:16 PM
收件人: mallfoundry/taroify ***@***.***>
抄送: Pilotage ***@***.***>; Mention ***@***.***>
主题: Re: [mallfoundry/taroify] [Bug Report] 使用组件后,会全量引入 lodash (Issue #800)
之前打包时用 babel-plugin-lodash 处理,后面我改打包时,把babel转换删了,没注意到还有lodash这个处理,导致了lodash全量导入问题。
建议保持现状,不做修改,如有需要,使用上面配置 @Pilotager<https://github.com/Pilotager>
―
Reply to this email directly, view it on GitHub<#800 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ALWJZH5BIDAKEXOPLAPDURLZUAI6JAVCNFSM6AAAAABMTZST7GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRQGI2TCOJQGU>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
javaxiu commented
请问这个有进展了不?lodash 占用实在太大了,包体积直接超过2M了
Pilotager commented
在config添加下面配置,使用 lodash-es 替换 lodash
mini: { webpackChain (chain) { chain.plugin('tree-shaking-lodash').use(Webpack.NormalModuleReplacementPlugin, [/^lodash$/, 'lodash-es']) }, }, h5: { webpackChain (chain) { chain.plugin('analyzer') .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []) } }
@javaxiu 先用这个处理下
superchenwb commented
webpackChain(chain) {
chain.resolve.alias.set("lodash", "lodash-es");
}
这样就可以了,lodash-es本身是支持tree shaking的