求大佬告知依赖包如何使用?

1. 依赖包如何使用?

HarmonyOS
2024-05-22 22:26:46
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
单花红丝线

HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C++库、资源和配置文件,用户需要重复使用资源文件时可以使用共享包来节省资源提高开发效率。

核心代码解释

在引用模块的oh-package.json5中配置依赖:

{ 
  "license": "", 
  "devDependencies": {}, 
  "author": "", 
  "name": "entry", 
  "description": "Please describe the basic information.", 
  "main": "", 
  "version": "1.0.0", 
  "dependencies": { 
    "hsp1": "file:../hsp1",      #前者是依赖名称(可自行拟定,后者指定依赖模块的相对路径 
    "har1": "file:../har1", 
    "har1.1": "file:./libs/har1.har", 
  } 
}

在hsp或者har中写一个函数

\\har1\src\main\ets\components\mainpage\untils\Calc.ts 
export function harreturn():string {      #export导出函数harreturn 
  return "这是har里的函数" 
} 
  
\\hsp1\src\main\ets\utils\Calc.ts 
export function hspreturn():string {       #export导出函数hspreturn 
    return "这是hsp里的函数" 
  
}

在各自模块对应的Index入口文件中声明

\har1\Index.ets 
export  { harreturn } from "./src/main/ets/utils/Calc" 
  
\hsp1\Index.ets 
export  { hspreturn } from "./src/main/ets/utils/Calc"

在entry模块页面应用

import {hspreturn} from "hsp1/Index" 
import {harreturn} from "har1/Index" 
import router from '@ohos.router'; 
import {Index1} from "hsp1/Index" 
import { a } from './Cal'; 
  
  
@Entry 
@Component 
  
struct Index { 
  
  @State message1: string = '测试是否拿到hsp1的资源'; 
  @State message2: string = '测试是否拿到har1的资源'; 
  
  build() { 
    Row() { 
      Column() { 
  
  
  
        Text(this.message1) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
  
        Button("拿hsp1的资源") 
          .onClick(()=>{ 
            this.message1=hspreturn() 
            let m=new a('zhd') 
  
  
          }) 
  
        Text(this.message2) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
        Button("拿har1的资源") 
          .onClick(()=>{ 
            this.message2=harreturn() 
          }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
} 
  
}

实现效果

注明适配的版本信息

IDE:DevEco Studio 4.0.3.600

SDK:HarmoneyOS 4.0.10.11

分享
微博
QQ
微信
回复
2024-05-23 15:57:33
相关问题
大佬告知如何卸载debug
663浏览 • 1回复 待解决
大佬告知如何设置
474浏览 • 1回复 待解决
大佬告知如何修改项目名?
459浏览 • 1回复 待解决
大佬告知如何得到线程ID
1621浏览 • 1回复 待解决
大佬告知如何引用HSP库
2090浏览 • 1回复 待解决
大佬告知如何实现联合类型?
701浏览 • 1回复 待解决
大佬告知如何遍历JSON对象
344浏览 • 1回复 待解决
大佬告知webview如何设置UA
970浏览 • 1回复 待解决
大佬告知如何切换横竖屏
2071浏览 • 1回复 待解决
大佬告知如何保存cookie
2475浏览 • 2回复 待解决
大佬告知如何模拟按键?
340浏览 • 1回复 待解决
大佬告知如何导出图片
1595浏览 • 1回复 待解决
大佬告知AOT编译选项如何设置
1965浏览 • 1回复 待解决
大佬告知如何获取组件宽高
483浏览 • 1回复 待解决
大佬告知如何后台播放音乐
2381浏览 • 1回复 待解决
大佬告知如何保存图片到相册
1170浏览 • 1回复 待解决
大佬告知arkts如何获取调用栈
818浏览 • 1回复 待解决
大佬告知如何处理大整数
464浏览 • 1回复 待解决
大佬告知如何序列化对象
757浏览 • 1回复 待解决
大佬告知如何读取文件的大小
1765浏览 • 1回复 待解决
大佬告知如何实现复制功能
1786浏览 • 1回复 待解决
大佬告知如何实现录音监听
1960浏览 • 1回复 待解决
大佬告知如何上架分发
388浏览 • 1回复 待解决
大佬告知如何实现复制功能?
316浏览 • 1回复 待解决
大佬告知如何判断当前版本
1801浏览 • 1回复 待解决