在适用于Mac OS的NW.js应用中启用应用程序菜单

时间:2015-08-08 15:44:40

标签: macos menu node-webkit

我使用NW.js为Mac OS X创建独立应用程序。应用程序启动正常,但应用程序菜单(位于Apple菜单右侧)不包含任何项目。我已经了解了一组默认的菜单和菜单项,如this screenshot所示,取自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. 选择index.html和package.json并使用Finder的文件&gt;压缩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文件放在此资源文件夹Zipping the index.html and package.json files, renaming the zipped file app.nw and placing it in the nwjs.app/Content/Resources/ folder
  9. 修改nwjs.app/Content/Info.plist中的文件,以便<key>CFBundleName</key><string>Hello World</string>相关联。 (这定义了应用程序菜单的名称。)
  10. 将nwjs.app重命名为HelloWorld.app
  11. 右键单击HelloWorld.app并从上下文菜单中选择“打开”
  12. 输入管理员用户名和密码以允许该应用打开
  13. 单击Hello World应用程序菜单 - 除了突出显示
  14. 之外没有任何其他操作

    enter image description here

    我需要做些什么来获取功能性应用程序菜单,使用Quit项目关闭应用程序?

1 个答案:

答案 0 :(得分:1)

谷歌搜索nwjs default menu mac让我Dickson Tam's nwjs-osx-menu npm package

我的其他步骤是:

  1. 在终端窗口中,cd到包含主index.html文件的文件夹
  2. 运行npm install nwjs-osx-menu。这会添加(包含一个node-modules文件夹)名为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
  10. Hello World application with default menus on Mac OS X