Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 带有包含本机代码的外部模块的节点Webkit_Node.js_Module_Native_Node Webkit - Fatal编程技术网

Node.js 带有包含本机代码的外部模块的节点Webkit

Node.js 带有包含本机代码的外部模块的节点Webkit,node.js,module,native,node-webkit,Node.js,Module,Native,Node Webkit,我正在使用节点webkit和一个名为的外部模块 根据node webkit,包含本机代码的模块必须使用nw-gyp重新编译,而不是node-gyp。我能够无错误地重新编译,节点webkit似乎导入了模块OK 这是我的密码。我正在尝试使用的代码: var edge = require('edge.node'); var hello = edge.func(function () {/* async (input) => { return ".NET welcomes " + i

我正在使用节点webkit和一个名为的外部模块

根据node webkit,包含本机代码的模块必须使用
nw-gyp
重新编译,而不是
node-gyp
。我能够无错误地重新编译,节点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);
});
在节点webkit中运行时引发以下错误

Uncaught TypeError: Object [object Object] has no method 'func' 
如果将对象写入控制台.log,我可以看到:

 Object {initializeClrFunc: function}
 initializeClrFunc: function () { [native code] }
 __proto__: Object

因此,模块似乎已加载。如果我在node webkit之外运行相同的代码,那么一切都会正常工作,我可以访问
func
函数。这让我发疯了,我非常感谢您的帮助。

func
方法由
edge.js
提供,它是
edge.node
本机模块的包装器。因此,您应该将
require('edge.node')
替换为
require('edge')

+1,您试图使之听起来非常有趣。Edge是一种极具实验性的技术,你可能想在他们的github中打开一个问题。是的,已经这样做了。真的需要尝试一下,这是我正在构建的一个展示案例应用程序。