Как смешать нативный аддон и модули? - PullRequest
0 голосов
/ 03 февраля 2020

Я разработал оболочку для библиотеки C ++, используя node-addon-api . Я хотел бы экспортировать некоторые функции узла с этими функциями C ++.

Некоторые функции могут быть закодированы в Javascript и не требуют кодирования в C ++.

Napi::Object Init(Napi::Env env, Napi::Object exports) {
    exports.Set(Napi::String::New(env, "hello"), Napi::Function::New(env, Hello));
    return exports;
}

Как мы можем смешивать функции напи и nodeJs?

1 Ответ

1 голос
/ 10 февраля 2020

Нет проблем смешать "родные" функции и чистые JS функции.

Предполагая, что в вашем проекте есть index.js, который служит вашим основным файлом

package.json

{
  "name": "mixedModule",
  "version": "1.0.0",
  "description": "A mixture of functions created via C++ or JS",
  "main": "index.js",
  "typings": "index.d.ts",
  "scripts": {
  ...
  }
}

Вы можете сами решать, какие функции вы хотите (ре) экспортировать:

const nativeModule = require("bindings")("myModule.node");

function jsFunction() {
    ...
}

module.exports = {
  nativeFunction: nativeModule.nativeFunction,
  jsFunction
}
...