欢迎光临
我们一直在努力

鸿蒙HarmonyOS中hvigorfile构建脚本的使用 - 打包时排除指定模块

文章目录

    • 概要
    • 项目结构
    • 工程级 hvigorfile.ts 配置

概要

需求场景: 在项目的demo目录下创建了很多演示用的模块,上架的APP包中不能包含它们,避免包体积过大。

项目结构

在这里插入图片描述

工程级 hvigorfile.ts 配置

import { appTasks, OhosAppContext, OhosPluginId } from '@ohos/hvigor-ohos-plugin';
import { hvigor } from '@ohos/hvigor';

hvigor.nodesEvaluated(() => {
// 获取app上下文信息
const appContext = hvigor.getRootNode().getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext;
// 获取工程级的build-profile.json5对应的obj对象
const buildProfileOpt = appContext.getBuildProfileOpt();

// 过滤出demo以外的模块
const modules = buildProfileOpt.modules
const filteredModules = modules.filter(module => !module.srcPath.includes("/demo/"));
buildProfileOpt.modules = filteredModules;
// 将obj对象设置回上下文对象以使能到构建的过程与结果中
appContext.setBuildProfileOpt(buildProfileOpt);
});

export default {
system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins: [] /* Custom plugin to extend the functionality of Hvigor. */
}

基于此配置构建的APP包中就不会再包含demo中的模块了 在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » 鸿蒙HarmonyOS中hvigorfile构建脚本的使用 - 打包时排除指定模块
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址