Skip to content

Node.js 原生插件开发

Posted on:September 22, 2023 at 12:14 AM

构建工具&工具库

  1. Microsoft C++ 生成工具

  2. Python

  3. CMake.js

  4. node-gpy

  5. binding.gyp node-gyp 是 Nodejs 下开发 C++扩展构建工具。他基于 GYP 来进行工作。GYPGenerate Your Project

  6. npm 依赖库

npm install --global windows-build-tools

npm i node-addon-api

npm i node-gpy -g

前置知识:

Electron 是一个基于 Chromium 和 Node.js 的桌面应用程序开发框架,它可以让开发者使用 Web 技术构建跨平台的桌面应用程序。而 Node ABI(Application Binary Interface)则是 Node.js C/C++ 模块的二进制接口规范,它定义了 Node.js 应用程序和 C/C++ 模块之间交互的一套标准规范。

在 Electron 中,由于主进程和渲染进程分别运行着 Node.js 和 Chromium,因此需要保证它们之间的 ABI 兼容性。当 Electron 升级时,Node.js 的版本也会相应升级,而这时候如果开发者使用的 C/C++ 模块没有根据新的 Node ABI 编译,则会出现模块加载失败的情况。

  1. 原生的 V8 和 node.h 【版本不兼容】
  2. NAN[nan.h], ABI 版本不兼容
  3. Node-API