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

den*_*xic 2 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;
Run Code Online (Sandbox Code Playgroud)

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

提前致谢.

Old*_*ide 5

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

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;
Run Code Online (Sandbox Code Playgroud)

当然,这是假设周围的代码是独立于平台的,并且您希望它在所有平台上运行.