prebundle在打包A依赖B,且项目中同时使用了AB两个包时重复打包内容
JOU-amjs opened this issue · 0 comments
JOU-amjs commented
相关平台
微信小程序
重现链接
https://github.com/JOU-amjs/taro-prebundle-repeat-bundle
小程序基础库: 3.4.3
使用框架: React
复现步骤
- 安装依赖,并
npm run dev:weapp
启动项目 - 打开微信开发工具运行项目,可以看到报错
- 其中
alova.ts
中引入的alova包代码,和在app.ts
中引入的@alova/scene-react
(此包依赖了alova包),分别打包了两份alova代码,其中@alova/scene-react
在prebundle中。 - 在
config/dev.ts
中关闭prebundle,或直接npm run build:weapp
,则运行正常。
期望结果
prebundle模式下也可以共享同一份alova包的代码
实际结果
alova包的代码被打包了两份
环境信息
Taro CLI 3.6.28 environment info:
System:
OS: Windows 10 10.0.19043
Binaries:
Node: 18.19.0 - C:\Program Files\nodejs\node.EXE
npm: 10.2.3 - C:\Program Files\nodejs\npm.CMD
npmPackages:
@tarojs/cli: 3.6.28 => 3.6.28
@tarojs/components: 3.6.28 => 3.6.28
@tarojs/helper: 3.6.28 => 3.6.28
@tarojs/plugin-framework-react: 3.6.28 => 3.6.28
@tarojs/plugin-platform-alipay: 3.6.28 => 3.6.28
@tarojs/plugin-platform-h5: 3.6.28 => 3.6.28
@tarojs/plugin-platform-jd: 3.6.28 => 3.6.28
@tarojs/plugin-platform-qq: 3.6.28 => 3.6.28
@tarojs/plugin-platform-swan: 3.6.28 => 3.6.28
@tarojs/plugin-platform-tt: 3.6.28 => 3.6.28
@tarojs/plugin-platform-weapp: 3.6.28 => 3.6.28
@tarojs/react: 3.6.28 => 3.6.28
@tarojs/runtime: 3.6.28 => 3.6.28
@tarojs/shared: 3.6.28 => 3.6.28
@tarojs/taro: 3.6.28 => 3.6.28
@tarojs/taro-loader: 3.6.28 => 3.6.28
@tarojs/webpack5-runner: 3.6.28 => 3.6.28
babel-preset-taro: 3.6.28 => 3.6.28
eslint-config-taro: 3.6.28 => 3.6.28
react: ^18.0.0 => 18.3.1
补充信息
我的研究:prebundle把同一个包当做了两个包了