在Arkts API12中引用tgz包及引用链问题解决

众所周知hw决定使用Arkts就是看中了庞大的js库,但是在Stage模型中只能使用菊花的ohpm,这里分享一个引用npm仓库包的方法

这边以simdjson为例,首先去npm仓库找到需要下载的tgz包并下载到本地
使用命令npm info simdjson查看文件源地址


然后复制地址直接输入浏览器下载,下载之后应该是一个.tgz结尾文件,放入Arkts项目你需要使用的module下

放在哪都行,用个lib文件夹管理最好

然后在module下的oh-package.json5文件中增加以产物包方式引入


注意别改错了文件

一般情况下sync一下就可以正常使用了,但是simdjson本身需要依赖node-addon-api,直接编译会报错


ohpm ERROR: NOTFOUND package 'node-addon-api@^2.0.0' not found from all the registries https://repo.harmonyos.com/ohpm/
ohpm ERROR: missing: node-addon-api@^2.0.0, required by simdjson@/Users/DevEcoStudioProjects/Api12Demo/entry/simdjson-0.9.2.tgz
ohpm ERROR: Found exception: Error: FetchPackageInfo: "node-addon-api" failed, reached retry limit or non retryable error encountered.
ohpm ERROR: ERUNNING execute tasks failed, Error: FetchPackageInfo: "node-addon-api" failed
ohpm ERROR: Install failed, detail: Error: FetchPackageInfo: "node-addon-api" failed

提示无法在仓库找到node-addon-api

同上这个时候我们就需要将node-addon-api的源文件下载到本地并放入项目中


我选择放根目录

然后在项目的oh-package.json5中添加hook配置


注意别改错了文件,这里配置路径没有代码提示,得自己摸索着来

执行ohpm install 后就可以正常编译打包了

诶,真香
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容