Addons: TypeError: addons.function() is not a function
Addons: TypeError: addons.function() is not a function
我对插件之类的还是新手。我正在尝试 运行 一个简单的 c++ 函数,它将 "Hello MIKE" 打印到节点 js 中。但是,我收到以下错误:
TypeError: addons.greetHello is not a function
at Object.<anonymous> (F:\addons\index.js:6:46)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
at Module.load (internal/modules/cjs/loader.js:996:32)
at Function.Module._load (internal/modules/cjs/loader.js:896:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
这是我的主要 cpp
#include<napi.h>
#include <string>
#include "greeting.h"
Napi::String greetHello(const Napi::CallbackInfo& info)
{
Napi::Env env = info.Env();
std::string result = helloUser("Mike");
return Napi::String::New(env ,result);
}
Napi::Object Init(Napi::Env env , Napi::Object exports)
{
exports.Set
(
Napi::String::New(env, "Function"),
Napi::Function::New(env, greetHello)
);
return exports;
}
NODE_API_MODULE(addons, Init)
和我的index.js
const addons = require('./build/Release/addons.node');
console.log('exports : ' , addons);
console.log();
console.log('addons.greetHello() : ', addons.greetHello() );
console.log();
还有一些我注意到的东西与我正在学习的教程不一样。这是我从主 cpp 获取的功能:
出口:{功能:[功能(匿名)]}
教程中没有那个匿名部分,那为什么它在这里读我的是匿名的?
提前致谢
您当前的调用会将函数分配给 "Function" 导出,您可能想要 "greetHello"。对于您的其他问题,您可以通过 a name to Napi::Function::New
:
exports.Set
(
Napi::String::New(env, "greetHello"),
Napi::Function::New(env, greetHello, "greetHello")
);
我对插件之类的还是新手。我正在尝试 运行 一个简单的 c++ 函数,它将 "Hello MIKE" 打印到节点 js 中。但是,我收到以下错误:
TypeError: addons.greetHello is not a function
at Object.<anonymous> (F:\addons\index.js:6:46)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
at Module.load (internal/modules/cjs/loader.js:996:32)
at Function.Module._load (internal/modules/cjs/loader.js:896:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
这是我的主要 cpp
#include<napi.h>
#include <string>
#include "greeting.h"
Napi::String greetHello(const Napi::CallbackInfo& info)
{
Napi::Env env = info.Env();
std::string result = helloUser("Mike");
return Napi::String::New(env ,result);
}
Napi::Object Init(Napi::Env env , Napi::Object exports)
{
exports.Set
(
Napi::String::New(env, "Function"),
Napi::Function::New(env, greetHello)
);
return exports;
}
NODE_API_MODULE(addons, Init)
和我的index.js
const addons = require('./build/Release/addons.node');
console.log('exports : ' , addons);
console.log();
console.log('addons.greetHello() : ', addons.greetHello() );
console.log();
还有一些我注意到的东西与我正在学习的教程不一样。这是我从主 cpp 获取的功能: 出口:{功能:[功能(匿名)]} 教程中没有那个匿名部分,那为什么它在这里读我的是匿名的?
提前致谢
您当前的调用会将函数分配给 "Function" 导出,您可能想要 "greetHello"。对于您的其他问题,您可以通过 a name to Napi::Function::New
:
exports.Set
(
Napi::String::New(env, "greetHello"),
Napi::Function::New(env, greetHello, "greetHello")
);