node-webkit 项目中的 package.json 格式

html5-node-webkit-retina-preview.png

node.js 既然是依靠google V8引擎驱动的,而chrome浏览器内置了V8,所以就诞生了 node-webkit 这样的项目.

它的执行宿主也是 浏览器,但是由于 node.js 的支持,我们可以轻松访问当前执行环境的OS ,这不就是PC 客户端程序的功能吗.

可见 node-webkit 项目利用了web UI 的优势,node.js 访问本地OS 的优势,从而用 javascript 实现了一个本地 客户端程序.

今天我们首先来看下一个简单的 node-webkit 项目中 package.json 中,各项所代表的意义.

实例:

{
  "name": "ServerManage",
  "main": "index.html",
  "nodejs": true,
  "window": {
    "title": "Server Manage",
    "toolbar": false,
    "width": 480,
    "height": 350,
    "resizable": true,
    "show_in_taskbar": true,
    "frame": true,
    "kiosk": false,
    "position": "center"
  },
  "webkit": {
    "plugin": true
  },
  "chromium-args": "--enable-threaded-compositing"
}

必填字段

main node-webkit打开时的默认页面

name 包的名字,必须为独一无二的,可由字母,数字,下划线组成,不能有空格

功能性字段

nodejs node-webkit中是否启用 node.js (布尔值)

node-main node-webkit打开时的加载的node.js文件 可通过process.mainModule访问

window 控制窗口的样子,后文细讲。

webkit 控制webkit特性是否启用,后文细讲。

窗口字段

title 默认打开的窗口页面的title

toolbar 是否显示工具栏,地址栏等(布尔值)

icon 此应用图标的路径地址

position 只可能是这么几个值null center mouse。null指无定位,center指在显示器中间,mouse指在鼠标的位置。

min_width/min_height (整形)定义宽度和高度的最小值。

resizable 窗口是否可调整大小 (布尔值)

always-on-top 窗口是否总是置顶状态(布尔值)

fullscreen 打开时是否全屏(默认是否全屏打开)

frame 是否显示窗口框架 (布尔值) 不显示将无法拖动

show 是否在任务栏上显示 (布尔值)

kiosk 是否处于kiosk状态,在kiosk状态下将全屏并且阻止用户关闭窗口(布尔值)

出自:node-webkit 项目中的 package.json 格式



回到顶部