Node.js 带有包含本机代码的外部模块的节点Webkit
我正在使用节点webkit和一个名为的外部模块 根据node 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
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中打开一个问题。是的,已经这样做了。真的需要尝试一下,这是我正在构建的一个展示案例应用程序。