我正在使用node-webkit和一个名为edge的外部模块。
根据node-webkit文档,必须使用nw-gyp
重新编译包含本机代码的模块,而不是node-gyp
。我能够无错误地重新编译,node-webkit似乎导入模块OK。
继承我的代码。我正在尝试使用的代码:
var edge = require('edge.node');
var hello = edge.func(function () {/*
async (input) =>
{
return ".NET welcomes " + input.ToString();
}
*/});
hello('Node.js', function (error, result) {
if (error) throw error;
console.log(result);
});
在node-webkit中运行时会引发以下错误。
Uncaught TypeError: Object [object Object] has no method 'func'
如果将对象写到console.log
,我可以看到:
Object {initializeClrFunc: function}
initializeClrFunc: function () { [native code] }
__proto__: Object
所以该模块似乎已加载。如果我在node-webkit之外运行相同的代码,一切都运行良好,我可以访问func
函数。这让我发疯了 - 任何帮助都会非常感激。
答案 0 :(得分:0)
func
方法由edge.js
提供,edge.node
本机模块的包装器。因此,您应该将require('edge.node')
替换为require('edge')
。