使用gui.createMacBuiltin使windows app现在可以在node webkit中使用

时间:2014-08-19 18:26:32

标签: webkit node-webkit

刚开始尝试为我的节点webkit应用程序创建一个菜单栏,我直接按照主人Roger Wang自己的说明......在这里:

https://github.com/rogerwang/node-webkit/wiki/Window-menu

以下是代码:

var gui = require('nw.gui');
var mb = new gui.Menu({type:"menubar"});
mb.createMacBuiltin("your-app-name");
gui.Window.get().menu = mb;

在Mac上工作得非常漂亮,但却使PC应用无法运行。现在有什么想法可以解决它吗?

提前致谢。

1 个答案:

答案 0 :(得分:5)

我希望您在非Mac平台上运行时createMacBuiltin未定义。您应该使用特定于操作系统的检查来保护该代码,如下所示:

var gui = require('nw.gui');
var mb = new gui.Menu({type:"menubar"});
if (process.platform === "darwin") {  // this should indicate you're on Mac OSX
    mb.createMacBuiltin("your-app-name");
}
gui.Window.get().menu = mb;

当然,假设周围的代码与平台无关,您希望它在所有平台上运行。