HarmonyOS鸿蒙Next中如何在hvigorfile.ts中获取当前指定的product和所有的target
HarmonyOS鸿蒙Next中如何在hvigorfile.ts中获取当前指定的product和所有的target 我的需求是在每次编译前,做一些资源替换,需要根据不同的product和target替换不同的资源,
我该如何获取当前编译指定的是哪个product和target
3 回复
import { appTasks, OhosPluginId, OhosAppContext, AppJson } from '@ohos/hvigor-ohos-plugin';
import { hvigor, getNode, HvigorNode } from '@ohos/hvigor';
hvigor.getRootNode().afterNodeEvaluate(rootNode => {
// 获取app插件的上下文对象
const appContext = rootNode.getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext;
const CurrentProduct = appContext.getCurrentProduct()
console.log("CurrentProduct",CurrentProduct.getProductName())
const entryNode = hvigor.getNodeByName('entry')
entryNode.afterNodeEvaluate(node => {
const hapContext = node.getContext(OhosPluginId.OHOS_HAP_PLUGIN) as OhosHapContext;
hapContext?.targets((target: Target) => {
const targetName = target.getTargetName();
console.log("targetName",targetName)
});
})
})
更多关于HarmonyOS鸿蒙Next中如何在hvigorfile.ts中获取当前指定的product和所有的target的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,您可以通过hvigorfile.ts中的product和targets属性来获取当前指定的product和所有target。使用this.product获取当前指定的product,this.targets获取所有target。例如:
const currentProduct = this.product;
const allTargets = this.targets;
currentProduct将包含当前指定的product信息,allTargets将包含所有target的数组。


