6

我正在使用 node-webkit 和一个名为edge的外部模块。

根据 node-webkit 文档,包含本机代码的模块必须使用nw-gypas 与node-gyp. 我能够重新编译而没有错误,并且 node-webkit 似乎可以导入模块。

这是我的代码。我尝试使用的代码:

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函数。这让我发疯 - 任何帮助将不胜感激。

4

1 回答 1

0

func方法由原生模块edge.js的包装器提供。edge.node所以你应该替换require('edge.node')require('edge').

于 2014-07-02T07:37:23.023 回答