如何使用NW.js创建网站的桌面应用版本?

时间:2015-09-11 18:27:49

标签: macos nw.js fluid-mac-app-engine

我过去一直在使用Fluid App(OS X)来创建我希望与浏览器分离的特定网络应用程序的独立桌面应用程序,拥有自己的Dock图标,而不是任何常规浏览器绒毛(工具栏,地址栏等)。但是,流动应用程序很长一段时间都被忽略了,某些较新的网络应用程序(例如Google的Inbox)完全无法加载。

所以我正在寻找一种简单的方法来创建一个桌面应用程序,它只有一个窗口加载一个网站,我认为NW.js将是理想的。

使用NW.js为给定网址构建这样一个简单的桌面应用程序的配置过程应该是什么?

1 个答案:

答案 0 :(得分:1)

如果您只是想在NW.js程序中打开一个网页,那就非常容易了。

首先请务必阅读:https://github.com/nwjs/nw.js/wiki/How-to-run-apps

特别是MacOS部分。

制作目录your_project/

your_project/package.json

中创建一个文件

然后配置package.json

{
  "main": "https://github.com",
  "name": "github app",
  "description": "Github demo app",
  "version": "0.1.0",
  "keywords": [ "demo", "node-webkit" ],
  "nodejs": false,
  "window": {
    "title": "Github",
    "icon": "logo.png",
    "toolbar": false,
    "frame": true,
    "width": 1024,
    "height": 768,
    "position": "mouse",
    "min_width": 400,
    "min_height": 200
  },
  "webkit": {
    "plugin": true
  }
}

您可以从nwjs

运行nwjs.app/Contents/MacOS/nwjs path_to_your_project

注意"nodejs": false选项会禁用应用程序的nodeapi,如果您最终需要部分应用程序中的nodejs,请确保您使用的任何webview都禁用了nodejs,因为这是一个主要的安全漏洞,请执行此操作研究 - 做得对。

另请注意,在上面的示例中,没有任何内容阻止用户访问其他域中的内容。

您最终希望查看打包应用程序,这也非常简单:https://github.com/nwjs/nw.js/wiki/how-to-package-and-distribute-your-apps