北京建站模板厂家,做外贸都用什么网站,中国建设人才网官网查询,公司画册模板免费下载文章目录 一、如何安装 ohpm-cli二、如何安装三方库1、在 oh-package.json5 文件中声明三方库#xff0c;以 ohos/crypto-js 为例#xff1a;2、安装指定名称 pacakge_name 的三方库#xff0c;执行以下命令#xff0c;将自动在当前目录下的 oh-package.json5 文件中自动添… 文章目录 一、如何安装 ohpm-cli二、如何安装三方库1、在 oh-package.json5 文件中声明三方库以 ohos/crypto-js 为例2、安装指定名称 pacakge_name 的三方库执行以下命令将自动在当前目录下的 oh-package.json5 文件中自动添加三方库依赖。 三、解决Cannot find module 错误四、如何在项目中使用三方库五、使用示例详细介绍1、axios2、crypto-js 一、如何安装 ohpm-cli
ohpm 依赖于 node 运行时支持 node.js 16.x 及以上版本请提前安装 nodejs。
下载 ohpm 工具包点击链接获取。
解压文件进入“ohpm/bin”目录打开命令行工具执行 init 命令安装 ohpm。
安装完成之后执行如下命令
ohpm -v终端输出为版本号如1.0.0则表示安装成功。
若您想在其他目录使用 ohpm-cli请将安装 bin 目录路径配置到系统环境变量 path 中。 安装三方库
ohpm install package_name测试三方库是否正确安装
为了确认 ohpm install 是否正常执行可检查安装目录下 oh_modules 目录是否存在并且其中是否包含您所安装三方库的目录。在安装目录下执行以下命令可进行查看
ohpm ls package_name更新三方库
ohpm update package_name卸载直接依赖的三方库
ohpm uninstall package_name二、如何安装三方库
OpenHarmony三方库中心仓https://ohpm.openharmony.cn/
安装的依赖文件 entry/oh_modules
项目中只能引用 oh_modules 目录下的三方库若您引用的三方库未安装在 oh_modules 目录下请先下载安装三方库。
oh-package.json5 文件
须在 oh-package.json5 文件中 dependencies 字段中列出引用的三方库其版本号遵循 semver 规范。
{dependencies: {fooLib: file:./fooLib.har, // 本地压缩包引用foler: file:../folder, // 本地文件夹引用remoteLib1: 1.0.0 // 远程引用固定版本remoteLib2: ~3.2.1 // 远程引用保持主版本和次版本不变patch 版本可更新到最新版本。即 3.2.1 ≤ version 3.3.0remoteLib3: ^3.1.0 // 远程引用保持主版本不变次版本、patch 版本可更新到最新版本。即 3.1.0 ≤ version 4.0.0}
}1、在 oh-package.json5 文件中声明三方库以 ohos/crypto-js 为例
dependencies: {ohos/crypto-js: 2.0.1
}依赖声明之后执行以下命令依赖三方库会存储在当前目录的 oh_modules 目录下。
ohpm install2、安装指定名称 pacakge_name 的三方库执行以下命令将自动在当前目录下的 oh-package.json5 文件中自动添加三方库依赖。
ohpm install pacakge_name三、解决Cannot find module 错误
如果没有正确的安装三方库而在代码中进行使用就会出现 “Cannot find module” 错误解决方法如下
安装该三方库执行以下命令
ohpm install package_name四、如何在项目中使用三方库
在您的项目中如需使用某个三方库请引入该三方库确保该三方库存储到 oh_module 目录中。
import { CryptoJS } from ohos/crypto-jsvar hash CryptoJS.MD5(123456)五、使用示例详细介绍
1、axios
Axios 是一个基于 promise 的网络请求库可以运行 node.js 和浏览器中。本库基于Axios 原库v1.3.4版本进行适配使其可以运行在 OpenHarmony并沿用其现有用法和特性。
下载安装
ohpm install ohos/axios需要权限
ohos.permission.INTERNET创建一个实例
const instance axios.create({baseURL: https://www.xxx.com/info,timeout: 1000,headers: {X-Custom-Header: foobar}
});发送http请求 创建axios实例后便可通过该实例的api来发送各种http请求常用的api定义如下 全局 axios 默认值
axios.defaults.baseURL https://www.xxx.com;
axios.defaults.headers.common[Authorization] AUTH_TOKEN;
axios.defaults.headers.post[Content-Type] application/x-www-form-urlencoded;拦截器 axios可以分别为请求和响应配置拦截器请求拦截器可在请求发送前进行拦截响应拦截器可以在then()或者catch()方法执行前进行拦截 在拦截器中开发者可以对请求的参数或者响应的结果做一些统一的处理比如在请求拦截器中统一为所有请求增加token这一Header在响应拦截器中统一处理错误响应。
// 添加请求拦截器
axios.interceptors.request.use((config:InternalAxiosRequestConfig) {// 对请求数据做点什么return config;
}, (error:AxiosError) {// 对请求错误做些什么return Promise.reject(error);
});// 添加响应拦截器
axios.interceptors.response.use((response:AxiosResponse) {// 对响应数据做点什么return response;
}, (error:AxiosError) {// 对响应错误做点什么return Promise.reject(error);
});获取请求结果 api的返回值类型均为PromisePromise是JavaScript中用于表示异步操作结果的对象若操作成功其中会包含具体结果若操作失败其会包含错误的原因。在实际应用中开发者可以通过该对象的then()方法来处理操作成功时的结果通过catch()方法来处理操作失败的情况
get(...).then((response:AxiosResponse){//处理请求成功的结果...}).catch((error:AxiosError){//处理请求失败的错误...})响应结构 AxiosResponse是axios定义的响应结果类型默认情况下通过axios发送的所有请求其成功的响应结果都是该类型。其包含的属性如下
{// data 由服务器提供的响应data: {},// status 来自服务器响应的 HTTP 状态码status: 200,// statusText 来自服务器响应的 HTTP 状态信息statusText: OK,// headers 是服务器响应头// 所有的 header 名称都是小写而且可以使用方括号语法访问// 例如: response.headers[content-type]headers: {},// config 是 axios 请求的配置信息config: {},// request 是生成此响应的请求request: {}// performanceTiming 计算HTTP请求的各个阶段所花费的时间performanceTiming: http.PerformanceTiming
}使用
import axios from ohos/axiosaxios.get(url[, config])
.then(res){
console.info(result: JSON.stringify(res.data));
}2、crypto-js
本软件是移植开源软件 crypto-js 源码在OpenHarmony上进行功能适配在OpenHarmony上已支持原库crypto-js的功能目前crypto-js已支持的算法有MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES等。
下载安装
ohpm install ohos/crypto-js使用说明
import { CryptoJS } from ohos/crypto-js或者
import CryptoJS from ohos/crypto-jsmd5算法使用
const hash CryptoJS.MD5(123456) //传参是需要加密的内容返回值是加密后的数据