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

1. 依赖包如何使用?

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

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
258浏览 • 1回复 待解决
大佬告知如何设置
38浏览 • 1回复 待解决
大佬告知如何保存cookie
952浏览 • 2回复 待解决
大佬告知如何导出图片
550浏览 • 1回复 待解决
大佬告知如何切换横竖屏
767浏览 • 1回复 待解决
大佬告知如何引用HSP库
850浏览 • 1回复 待解决
大佬告知如何得到线程ID
541浏览 • 1回复 待解决
大佬告知webview如何设置UA
314浏览 • 1回复 待解决
大佬告知如何实现联合类型?
317浏览 • 1回复 待解决
大佬告知如何使用三方cpp库
665浏览 • 1回复 待解决
大佬告知如何屏蔽触摸事件
360浏览 • 1回复 待解决
大佬告知如何实现复制功能
614浏览 • 1回复 待解决
大佬告知如何实现录音监听
763浏览 • 1回复 待解决
大佬告知如何判断当前版本
620浏览 • 1回复 待解决
大佬告知通用组件如何打包
280浏览 • 1回复 待解决
大佬告知如何获取组件宽高
46浏览 • 1回复 待解决
大佬告知如何序列化对象
320浏览 • 1回复 待解决
大佬告知如何读取文件的大小
563浏览 • 1回复 待解决
大佬告知AOT编译选项如何设置
744浏览 • 1回复 待解决
大佬告知如何保存图片到相册
303浏览 • 1回复 待解决
大佬告知如何后台播放音乐
849浏览 • 1回复 待解决
大佬告知arkts如何获取调用栈
348浏览 • 1回复 待解决
大佬告知如何访问hsp中页面?
352浏览 • 1回复 待解决
大佬告知如何获取窗口的宽度
649浏览 • 1回复 待解决
大佬告知如何查询进程的pid
676浏览 • 1回复 待解决