> 文档中心 > 【OpenHarmony】napi基础知识学习

【OpenHarmony】napi基础知识学习


基本概念

  • napi即native-API是独立于javascript底层运行时的,用于构建javascript原生插件接口。napi和javascript底层机制隔离,当javascript主线更新时,napi不需要重新编译。
  • napi有如下属性:
    • 所有的接口调用返回一个napi_status类型的状态码,用来表明接口调用成功或者失败。
    • api的返回值通过一个出参传递。
    • 所有javascript的值被抽象成了napi_value
    • 在错误状态码方面,可以通过napi_get_last_error_info获取进一步的信息,详见错误处理部分。
  • napi是一个c语言api,为了支持c++,该项目也维护了一个c++模块叫做node-addon-api。node-addon-api实际上是封装了napi。

构建

  • 需要c/c++构建工具链(gcc,clang,msvc等)。
  • node-gyp用于构建原生插件,可以使用如下命令安装:sudo npm install -g node-gyp
  • cmakejs安装sudo npm install cmake-js,可选。

上传预编译后的二进制文件

  • 上面列出来的三个工具,允许原生插件开发者创建和发布二进制形式的插件。
  • 为了方便我们的插件传播可以使用如下工具将我们的插件上传到服务器。node-pre-gypprebuildprebuildify

参考资料

  • Node.js v16.17.1 documentation