在 NW.js 应用程序中为 Mac OS 启用应用程序菜单

Enabling application menu in a NW.js app for Mac OS

我正在使用 NW.js to create a standalone application for Mac OS X. The application launches fine, but the application menu (just to the right of the Apple menu) contains no items. I had understood that a default set of menus and menu items would be created, as shown in this screenshot, taken from Arvind Ravulavaru' tutorial

这是我的基本文件:

index.html

<!DOCTYPE html>
<html>
<head>
  <title>Hello World</title>
</head>
<body>
  <h1>Hello World</h1>
</body>
</html>

package.json

{
  "name": "Hello World"
, "version": "0.0.1"
, "description": "Barebones NW.js app"
, "main": "index.html"
, "window": {
    "toolbar": false
  , "width": 800
  , "height": 600
  }
, "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  }
, "author": ""
, "license": "MIT"
}

这是我的步骤:

  1. Select index.html 和 package.json 并使用 Finder 的文件 > 压缩 2 个项目从它们创建一个 ZIP 文件。
  2. 重命名此 ZIP 文件 app.nw
  3. 下载 64-bit build of NW.js for Mac OS X
  4. 解压下载的文件,创建一个包含nwjs.app
  5. 的文件夹
  6. 右键单击 nwjs.app 并从上下文菜单中选择显示包内容
  7. 导航到 nwjs。app/Content/Resources
  8. 将 app.nw 文件放入此资源文件夹
  9. 修改 nwjs.app/Content/Info.plist 文件,使 <key>CFBundleName</key><string>Hello World</string> 相关联。 (这定义了应用程序菜单的名称。)
  10. 将 nwjs.app 重命名为 HelloWorld.app
  11. 右键单击 HelloWorld.app 和 select 从上下文菜单打开
  12. 输入管理员用户名和密码以允许应用程序打开
  13. 单击“Hello World”应用程序菜单 - 除了突出显示外没有任何反应

我需要做什么才能获得功能性应用程序菜单,其中包含用于关闭应用程序的退出项?

A Google 搜索 nwjs default menu mac led me to Dickson Tam's nwjs-osx-menu npm package

我的额外步骤是:

  1. 在终端 window 中,cd 到包含主要 index.html 文件的文件夹
  2. 运行npm install nwjs-osx-menu。这会添加(包含一个节点模块文件夹)一个名为 nwjs-osx-menu.
  3. 的文件夹
  4. 在文本编辑器中,打开文件 nwjs-osx-menu/index.js
  5. 将行 mb.createMacBuiltin('My App'); 更改为 mb.createMacBuiltin('Hello World');
  6. 创建一个新的 ZIP,包括新的 nwjs-osx-menu 文件夹
  7. 将 zip 文件重命名为 app.nw
  8. 将 HelloWorld.app/Content/Resources/app.nw 中的现有文件替换为新文件
  9. 启动 HelloWorld.app