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

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
234浏览 • 1回复 待解决
大佬告知如何导出图片
467浏览 • 1回复 待解决
大佬告知如何保存cookie
869浏览 • 2回复 待解决
大佬告知如何实现联合类型?
304浏览 • 1回复 待解决
大佬告知如何切换横竖屏
683浏览 • 1回复 待解决
大佬告知如何得到线程ID
482浏览 • 1回复 待解决
大佬告知如何引用HSP库
764浏览 • 1回复 待解决
大佬告知webview如何设置UA
293浏览 • 1回复 待解决
大佬告知如何使用三方cpp库
588浏览 • 1回复 待解决
大佬告知如何实现录音监听
651浏览 • 1回复 待解决
大佬告知通用组件如何打包
264浏览 • 1回复 待解决
大佬告知如何判断当前版本
559浏览 • 1回复 待解决
大佬告知如何实现复制功能
556浏览 • 1回复 待解决
大佬告知如何屏蔽触摸事件
343浏览 • 1回复 待解决
大佬告知AOT编译选项如何设置
571浏览 • 1回复 待解决
大佬告知如何序列化对象
290浏览 • 1回复 待解决
大佬告知如何读取文件的大小
457浏览 • 1回复 待解决
大佬告知如何保存图片到相册
285浏览 • 1回复 待解决
大佬告知arkts如何获取调用栈
329浏览 • 1回复 待解决
大佬告知如何后台播放音乐
780浏览 • 1回复 待解决
大佬告知如何获取窗口的宽度
594浏览 • 1回复 待解决
大佬告知arkts中如何获取oaid
406浏览 • 1回复 待解决
大佬告知如何访问hsp中页面?
325浏览 • 1回复 待解决
大佬告知如何查询进程的pid
610浏览 • 1回复 待解决
大佬告知如何跳转至应用市场
263浏览 • 0回复 待解决