目录

性能优化:缓存插件实践

概述

在大型应用开发和多团队协作场景中,编译效率是制约开发体验的关键因素:

针对该问题,Hvigor提供缓存增强插件@ohos/hvigor-cache-booster,采用多级缓存查找机制,按“当前编译模块build目录 -> 本地缓存 -> 远程缓存”的优先级查找编译缓存,显著提升首次编译效率。

使用约束

安装插件

  1. @ohos/hvigor-cache-booster插件上架在npm中心仓,需要确保.npmrc中已配置仓库地址。
    @ohos:registry=https://repo.harmonyos.com/npm/
  2. 在工程的hvigor-config.json5文件中配置依赖的插件。
    "dependencies": {
        "@ohos/hvigor-cache-booster": "7.0.0"  
      },
  3. 执行Sync或者Build,DevEco Studio会自动安装依赖。

使用示例

在模块的hvigorfile.ts中添加示例代码,按需修改配置后即可使用缓存增强插件,详细使用指导请参考@ohos/hvigor-cache-booster插件的README.md文件。

如需启用远程缓存,服务端需按规范实现相应API并提供服务,请参考插件README.md文档了解服务端API的规格要求。

// entry/hvigorfile.ts
import { hapTasks } from '@ohos/hvigor-ohos-plugin';
import { CacheBooster } from '@ohos/hvigor-cache-booster';
import { arkCacheChainFactory, ArkCacheChainConfig, ChainType } from '@ohos/hvigor-cache-booster';

// 缓存插件配置,可配置本地缓存和远程缓存
const arkChainCfg: ArkCacheChainConfig = {
  local: { enable: true, pushEnable: true, minPushIntervalHours: 0 },
  remote: { enable: true, pushEnable: true }
};

// 缓存链类型,可以为DEFAULT和OHOS_TEST,DEFAULT表示源代码目录,OHOS_TEST表示测试目录
const chain0 = arkCacheChainFactory.createArkCacheChain(ChainType.DEFAULT, arkChainCfg);
const chain1 = arkCacheChainFactory.createArkCacheChain(ChainType.OHOS_TEST, arkChainCfg);

export default {
  system: hapTasks,
  plugins: [new CacheBooster({
    enable: true,
    remoteUrl: 'https://...',   // 远程缓存url,如果启用远程缓存,根据实际环境修改
    strictSSL: false,
    cacheManagerChains: [chain0, chain1]
  })]
}