HarmonyOS鸿蒙Next项目中如何引入第三方npm包?

HarmonyOS鸿蒙Next项目中如何引入第三方npm包?

1、新建一个project,假设在我们的项目根目录中通过npm init新建一个package.json,此时我们就可以通过npm install来安装来自于npm的仓里面的第三方库了。

比如:在这里我们运行:

npm install axios

运行完成之后项目根目录会增加 node_modules目录,然后根据axios库的具体条件安装下列库:

- node_modules
    - asynckit
    - axios
    - combined-stream
    - delayed-stream
    - follow-redirects
    - form-data
    - mime-db
    - mime-types
    - proxy-from-env

也就是我们如果想正常使用axios库,需要用到以上列出的所有库,但目前我们是没办法直接使用node_modules文件里面的这些库的。

好在,鸿蒙为我们提供了一种转化方式,只需要一次转化,我们就可以将这些库转化为对应的har包,之后,按照har包的方式引入就可以了。

转换前:

转换脚本:

ohpm convert ./node_modules

转换后的目录:

现在就可以按照har的方式引入axios包了!


更多关于HarmonyOS鸿蒙Next项目中如何引入第三方npm包?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

请问下,如果使用 ohpm convert 成功后,项目导入了具体的 har,但是 import 引用时提示找不到类型描述(实际上是有的,但是文件后缀名称不对),这种要怎么修改呀?

更多关于HarmonyOS鸿蒙Next项目中如何引入第三方npm包?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


ohpm install @ohos/axios  是不是就能直接使用axios了

希望HarmonyOS能继续加强在安全性方面的研发,保护用户的隐私和数据安全。

姓名: 张三
职位: 软件工程师
简介: 拥有超过10年的软件开发经验,擅长Java和Python编程。

上面只是个案例,针对oh库里没有的一些包,比如自己公司之前开发的一些私有库,想直接用到鸿蒙项目,可以用这种方式,

在HarmonyOS鸿蒙Next项目中引入第三方npm包,可以通过以下步骤实现:

  1. 创建项目:首先,确保你已经创建了一个HarmonyOS鸿蒙Next项目。如果还没有,可以使用DevEco Studio创建新项目。

  2. 初始化npm:在项目根目录下,打开终端并运行npm init -y来初始化npm,生成package.json文件。

  3. 安装npm包:使用npm install <package-name>命令安装所需的第三方npm包。例如,安装lodash包,可以运行npm install lodash

  4. 配置模块解析:在jsconfig.jsontsconfig.json中配置模块解析路径,确保项目能够正确识别第三方包。例如:

    {
      "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "*": ["node_modules/*"]
        }
      }
    }
    
  5. 引入并使用:在需要使用第三方包的JavaScript或TypeScript文件中,通过import语句引入并使用。例如:

    import _ from 'lodash';
    const result = _.chunk([1, 2, 3, 4], 2);
    console.log(result);
    
  6. 构建项目:确保项目构建配置正确,以便在构建过程中包含第三方包。在build.gradlewebpack.config.js中检查相关配置。

  7. 运行项目:完成上述步骤后,运行项目,确保第三方包能够正常工作。

通过以上步骤,你可以在HarmonyOS鸿蒙Next项目中成功引入并使用第三方npm包。

在HarmonyOS鸿蒙Next项目中引入第三方npm包,首先确保项目已配置为支持npm。然后,在项目根目录下执行npm install <package-name>命令安装所需包。安装完成后,在代码中通过import语句引入并使用该包。注意检查包的兼容性,确保其支持HarmonyOS环境。

回到顶部