当前位置: 首页 > news >正文

鸿蒙 的模块化编译

鸿蒙开发中,模块化编译是基于ES Module的Bundleless编译模式。API 10及以上版本的Stage工程默认开启模块化编译,可有效缩短增量编译时间、减小编译后的包体积。

一、模块化编译

模块化编译是指基于ES Module的Bundleless编译模式,使用原生ES Module规则构建源码。

版本要求说明
API 10及以上Stage工程默认开启模块化编译
FA模板依然使用基于bundle打包的构建方式

二、解决的问题

模块化编译解决了Bundle编译打包模式引入的问题:

问题说明
重复打包与运行时加载同一个模块多次引用导致重复打包,运行状态无法共享,单例模式运行异常
编译耗时过长修改单个模块文件需要完整重新编译打包
全局变量污染传统打包模式存在全局变量污染问题

三、核心价值

价值说明
增量编译时间极大减少修改单个模块代码无需整包编译构建
模块缓存利用率高基于ESModule规则,模块内变量变化能及时反映到模块本身,动态实时绑定
解决单例问题模块间状态共享正常
减少ROM size包的体积减小
提升开发效率各模块基于接口开发,解决变量污染等问题

四、其他

规格说明推荐度
hap引用同工程下其他hap代码支持但不推荐不推荐
hap通过oh-package.json5引用同工程下其他hap代码支持但不推荐不推荐
引用工程外代码或工程内任意创建目录下代码不支持,编译报错禁止
hap通过har(static library)引用公共代码推荐推荐
hap通过hsp(shared library)引用共享库推荐,共享状态推荐

推荐方式

推荐使用har(静态库)组织公共代码并引用 ↓ 或使用hsp(共享库)引用共享库,实现状态共享

不推荐方式

hap引用同工程下其他hap代码 → 不推荐 ↓ hap通过oh-package.json5引用同工程下其他hap代码 → 不推荐

五、核心点

要点说明
开启条件API 10及以上Stage工程默认开启
对比对象Bundle打包模式(FA模板仍使用)
核心机制基于ES Module的Bundleless编译
引用方式har(静态库)或 hsp(共享库)

引用方式对比

方式适用场景特点
har(静态库)公共代码组织代码被编译到引用方
hsp(共享库)共享库状态共享,独立打包

鸿蒙API 10+ Stage工程默认开启基于ES Module的模块化编译(Bundleless),解决重复打包、编译耗时长、全局变量污染问题,推荐使用har(静态库)或hsp(共享库)组织公共代码,不推荐hap引用同工程下其他hap代码,禁止引用工程外代码。

http://www.jsqmd.com/news/1261295/

相关文章:

  • DLSS Swapper终极指南:如何免费提升游戏性能45%的智能DLSS版本管理工具
  • DistroAV:5分钟掌握OBS Studio专业NDI网络视频传输插件的完整指南
  • PPTX转HTML终极指南:5分钟让PowerPoint在网页中完美展示
  • 驾校教练的夏天:沥青能煎蛋,学员连挂五次,他差点把教练证撕了
  • 汽车级LED驱动设计实战:TPS92630-Q1参考设计解析与避坑指南
  • 2026年(7月最新)文昌口碑好的屋顶漏水维修服务盘点 - 吉林同城获客
  • 2026重庆涪陵区管道疏通哪家好利扬管道疏通免费上门靠谱 - 余生黄金回收
  • SoC硬件防火墙配置实战:从CBASS寄存器解析到AM62L安全策略部署
  • Linux进程与内存管理核心机制详解
  • llama.cpp多模态实践:视频音频输入处理与边缘AI部署指南
  • 电梯故障诊断工具本地部署与验证指南
  • 医疗AI应用架构与数字化转型实践解析
  • CC2640无线MCU射频与低功耗设计实战:从参数解读到硬件避坑
  • UGC数字人技术解析:从视觉生成到全双工对话的完整实现
  • 构建企业级AI中台时如何集成Taotoken实现API统一网关与审计
  • 高速DAC设计实战:从JESD204B时序到性能曲线深度解析
  • DirectDraw兼容性架构深度解析:现代Windows下的经典图形API重生方案
  • 2026年Java后端面试技能图谱:MySQL索引、JVM与Redis深度解析
  • NLP基础:文本预处理与分类实战指南
  • 芜湖2026中考300分左右能上什么学校?合肥高科宠物护理专业:三年制技工+3+3大专连读,系统学宠物洗护、疫病预防、门店运营,毕业进宠物医院工作 - 我叫小周
  • PHP电商项目实战:从源码部署到MVC架构解析与安全优化
  • YOLOv26在显微细胞动态追踪与药物筛选中的应用
  • 基于YOLOv11的蜜蜂识别系统开发与应用
  • Lingtrain Aligner:用AI技术打造完美双语平行语料库的终极指南
  • 她差点把眼镜店盘出去,结果半年后开了分店——就因为偷偷干了一件事
  • 独立开发者如何借助 Taotoken 应对 Claude Code 的封号与额度限制
  • 如何用Hackintool终极解决黑苹果音频问题:专业诊断与优化指南
  • 终极Obsidian导出指南:3步解锁你的知识库迁移自由
  • 2026大城县玻化微珠保温砂浆试块厂家哪家好、FTC自调温相变蓄能保温砂浆厂家推荐:选购指南与避坑攻略 - geo88
  • 3步掌握Steam游戏自动破解工具:彻底解决正版游戏离线启动难题