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

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", 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

在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里的函数" 
  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

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

\har1\Index.ets 
export  { harreturn } from "./src/main/ets/utils/Calc" 
  
\hsp1\Index.ets 
export  { hspreturn } from "./src/main/ets/utils/Calc"
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

在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%') 
  } 
} 
  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.

实现效果

注明适配的版本信息

IDE:DevEco Studio 4.0.3.600

SDK:HarmoneyOS 4.0.10.11

分享
微博
QQ
微信
回复
2024-05-23 15:57:33
相关问题
大佬告知如何设置
786浏览 • 1回复 待解决
大佬告知如何卸载debug
1019浏览 • 1回复 待解决
大佬告知如何修改项目名?
763浏览 • 1回复 待解决
大佬告知如何保存cookie
2913浏览 • 2回复 待解决
大佬告知如何导出图片
2014浏览 • 1回复 待解决
大佬告知如何模拟按键?
775浏览 • 1回复 待解决
大佬告知如何实现复制功能
2232浏览 • 1回复 待解决
大佬告知如何实现录音监听
2335浏览 • 1回复 待解决
大佬告知通用组件如何打包
1309浏览 • 1回复 待解决
大佬告知如何屏蔽触摸事件
1118浏览 • 1回复 待解决
大佬告知如何获取网卡信息
710浏览 • 1回复 待解决
大佬告知如何定位混淆问题
887浏览 • 1回复 待解决
大佬告知如何上架分发
695浏览 • 1回复 待解决
大佬告知如何实现复制功能?
1009浏览 • 1回复 待解决
大佬告知如何判断当前版本
2107浏览 • 1回复 待解决
大佬告知如何切换横竖屏
2521浏览 • 1回复 待解决
大佬告知如何实现联合类型?
1098浏览 • 1回复 待解决
大佬告知如何得到线程ID
1977浏览 • 1回复 待解决
大佬告知如何引用HSP库
2533浏览 • 1回复 待解决
大佬告知webview如何设置UA
1432浏览 • 1回复 待解决
大佬告知如何遍历JSON对象
736浏览 • 1回复 待解决
大佬告知如何使用三方cpp库
2199浏览 • 1回复 待解决
大佬告知怎么保存webview
1946浏览 • 1回复 待解决
大佬告知如何向用户申请授权
766浏览 • 2回复 待解决
大佬告知如何获取窗口的宽度
1905浏览 • 1回复 待解决