本文同步发表于我的微信公众号,微信搜索 程语新视界 即可关注,每个工作日都有文章更新

一、模块路径规范变化

自鸿蒙5.0+版本开始,官方推荐使用 @kit命名空间替代旧版的 @ohos。原有的 @ohos开头的模块已逐步迁移至新的 @kit命名空间下。例如:

  • 旧版写法import http from '@ohos.net.http';
  • 新版写法import { http } from '@kit.NetworkKit';

若直接使用 @ohos或未正确引入 @kit模块,会导致编译报错。

二、@app路径的错误使用

@app通常用于引用 应用内资源(如 $r('app.media.image')),而非导入模块。若尝试通过 @app导入代码模块(如自定义工具类),需改为 相对路径或 模块名导入:

// 错误示例:使用@app导入模块
import utils from '@app/utils';

// 正确示例:使用相对路径或模块名
import utils from '../utils';  // 相对路径
import { utils } from '@library/utils';  // 模块名(需配置依赖)

三、依赖未正确安装

若使用第三方库或系统 @kit模块,需通过 ohpm(鸿蒙包管理器)安装依赖。例如:

  1. 安装 NetworkKit
ohpm install @kit.NetworkKit

    2. 在 oh-package.json5中检查依赖

{
  "dependencies": {
    "@kit.NetworkKit": "^1.0.0"
  }
}

四、项目配置问题

  1. SDK版本检查
    确认 compileSdkVersion和 compatibleSdkVersion设置为 API 9+(对应鸿蒙5.0)。
  2. 模块级配置
    在模块的 build-profile.json5中确保已关联所需能力:
"buildOption": {
  "arkOptions": {
    "runtimeOnly": {
      "packages": ["@kit.NetworkKit"]
    }
  }
}

五、示例:实现网络请求功能
错误代码

import http from '@ohos.net.http';  // 旧版路径报错

正确代码

import { http } from '@kit.NetworkKit';  // 新版路径

// 示例:发起GET请求
http.createHttp().request(
  "https://api.example.com",
  {
    method: http.RequestMethod.GET,
    header: { 'Content-Type': 'application/json' }
  },
  (err, data) => {
    if (err) {
      console.error(`请求失败: ${err.message}`);
    } else {
      console.info(`响应结果: ${data.result}`);
    }
  }
);

总结

  1. 迁移到 @kit命名空间:替换所有 @ohos开头的模块为 @kit对应模块。
  2. 资源与模块区分@app仅用于资源引用,模块导入使用相对路径或 @kit路径。
  3. 依赖管理:通过 ohpm 安装缺失的依赖,并检查配置文件。
  4. 版本适配:确保项目配置与鸿蒙5.0+的SDK版本一致。
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐