鸿蒙HarmonyOS中hvigorfile构建脚本的使用 - 打包时排除指定模块
·
文章目录
概要
需求场景:
在项目的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)