如何混合原生插件和模块?
How to mix Native Addon and Modules?
我使用 node-addon-api 为 C++ 库开发了一个包装器。
我想用那些 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;
}
如何混合使用napi和nodeJs功能?
混用"native"函数和纯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
}
我使用 node-addon-api 为 C++ 库开发了一个包装器。 我想用那些 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;
}
如何混合使用napi和nodeJs功能?
混用"native"函数和纯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
}