Taro 将不同组件放置分包插件,支持微信&字节平台,支持样式放入分包 #18746
Unanswered
niubaobaozsy
asked this question in
生态
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
插件git地址:taro-dynamic-subpackage
✨ 特性
📋 环境要求
📦 安装
🚀 使用方式
1. 配置 Babel(重要)
为了支持异步导入(
dynamic import),需要在 Babel 配置中关闭dynamic-import-node插件。该插件会将动态导入转换为同步导入,导致本插件无法正常工作。在
babel.config.js中配置**2. 配置插件
在 Taro 配置文件中添加插件配置(通常在
config/index.js):3. 组件分包使用
在 Vue 组件中使用
defineAsyncComponent进行异步导入:4. npm 包分包使用
使用动态
import()导入 npm 包:🔧 配置说明
插件配置项
env'weapp' | 'tt''weapp'weapp为微信小程序,tt为字节跳动小程序dynamicModulesArray<DynamicModule>[]dynamicStyleInAppstring[][]DynamicModule 配置项
packageNamestringapp.config.js中配置的分包名称一致testRegExp[]💡 核心原理
插件通过接管 Webpack 的异步分包加载流程,根据用户配置的匹配规则,将不同的异步模块构建到对应的分包中,实现按需加载和包体积优化。
packageName与app.config.js中配置的分包名称一致test配置使用正则表达式,注意路径分隔符的转义(使用[\\/]兼容不同操作系统)import()或defineAsyncComponent导入的模块才会被处理dynamic-import-node设置为false,否则异步导入会被转换为同步导入,导致插件无法正常工作📸 效果展示
分包前后对比
📝 示例
完整配置示例
Beta Was this translation helpful? Give feedback.
All reactions