npm 包 bindings 使用教程

阅读时长 6 分钟读完

什么是 npm 包 bindings?

npm 包 bindings 是一个可以帮助 Node.js C++ 插件和 JavaScript 应用程序之间建立桥梁的工具包。bindings 可以让你编写 Node.js 扩展并使其易于使用。

如何安装 npm 包 bindings?

你可以通过以下命令在你的项目中安装 npm 包 bindings:

如何使用 npm 包 bindings?

添加 bindings 到你的 Node.js 模块

首先,你需要将 bindings 添加到你的 Node.js 模块中:

这里我们假设你的 Node.js 模块名称为 myAddon。你需要在你的 C++ 插件代码中将其导出为 node.gyp 文件指定的模块名称。例如:

-- -------------------- ---- -------
-------- --------

--------- ---- -

  ---- ------------ ---------------------------- ----- -
    -- ---
  -

  ---- ------------------ -------- -
    ------------------------ ---------- --------
  -

  --------------------------------- -----

- -- --------- ----

此处我们将 MyAddon 导出为模块名称。NODE_GYP_MODULE_NAME 是一个宏,该宏解析为当前构建的模块名称。

在 Node.js 中使用 C++ 插件

现在你可以在你的 Node.js 应用程序中使用 MyAddon 插件了:

这里我们假设你的 MyAddon 插件是使用 node-gyp 编译的,其中构建目录为 build/Release。

在 C++ 中使用 bindings

bindings 可以帮助你轻松地在 C++ 中使用 V8 API。以下示例演示如何在 C++ 中使用 bindings:

-- -------------------- ---- -------
-------- --------
-------- ------------

--------- ---- -

  ----- ------------
  ----- -------------------------
  ----- ------------
  ----- ----------
  ----- ------------------
  ----- -----------
  ----- -----------
  ----- ----------
  ----- --------------

  ---- ------------------ ---------------------------- ----- -
    -------- ------- - ------------------

    -- ------------------------ -
      -- ------- -- ------------ ---- --------------
      ------ ----- - ---------------------- - - - -----------------------
      --------- --- - --- ----------------
      -----------------------
      ---------------------------------------
    - ---- -
      -- ------- -- ----- -------- ---------------- ---- ---- --------- -----
      ----- --- ---- - --
      ------------ ---------- - - ------- --
      -------------- ------- - -----------------------------
      --------------- ---- - ----------------------------- -------------
      ------------- ------ -
          -------------------------- ----- -----------------------
      ----------------------------------
    -
  -

  ---- ------------------ -------- ------------- ------- -
    --------------------------------------

    -- ------- ----------- --------
    ----------------------- --- - -------------------------------------------- --------------
    ------------------------------------------------------------ ----------- ------------------------------------------
    --------------------------------------------------

    -- ---------
    ------------------------------ ---------- -------------------

    ---------------------------------------- --------------------
    ------------------------------------------------------ ----------- -----------------------------------------
                --------------------
  -

  -------------------------- -----

-  -- --------- ----

我们首先使用 #include "myobject.h" 包含了一个名为 MyObject 的 C++ 类的定义。然后,我们在 CreateObject 函数中包装了这个类,使它

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/39738

纠错
反馈