node-webkit 就是nodejs 加webkit
核心是nodejs 做本地化调用,webkit来解析和执行html、css 和js
可以从http://nwjs.io/downloads/ 下载包。
github网址https://github.com/nwjs/nw.js
1、配置
下载完后,解压。目录下会有一个nw.exe。双击运行。
会显示一个很大的nw.js。
2、hello创建和运行
在nw.js目录下创建一个hello文件夹。
新建package.json:
{
"name": "hello",
"version": "0.1.0",
"main": "index.html",
"window": {
"toolbar": true,
"width": 800,
"height": 600
},
"node-main":"node-main.js",
"platformOverrides": {
"win": {
"window": {
"frame": true
}
}
}
}
新建index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World!</title>
</head>
<body οnlοad="process.mainModule.exports.callbackIndex()">
<button οnclick="window.reload()">刷新</button>
<h1>Hello World!</h1>
We are using node.js:
<script>document.write(process.version)</script>
</body>
</html>
新建node-main.js:
/*
js内可以访问window,它指向DOM窗口,但是如果页面导航发生变化,访问到的window对象也会发生变化。因为它执行时间要早于DOM加载,所以要等页面加载完毕,才能使用“window”对象。
同时,在DOM页面中,可以通过process.mainModule来获取node-main信息。
可以绑定在οnlοad=process.mainModule.exports.callback0()
当刷新时值会一直增加,说明context是单独的。
*/
var i = 0;
exports.callbackIndex = function() {
window.alert("i = " + i);
i += 1;
}
运行方法:
1、把三个文件打包成hello.zip。复制到nw.exe的目录。拖动zip到nw.exe。即可运行。
2、拖动hello文件夹到nw.exe也可运行。
3、cmd 进入nw.exe 目录 输入 nw.exe hello 也可运行。
打包成exe:
1、cmd 进入new.exe 目录,执行:
copy /b nw.exe+hello.zip hello.exe 生成hello.exe .
copy /b nw.exe+app.nw app.exe
copy /b //使用+把多个文件合并成为一个
生成的hello.exe只能在当前目录运行,因为需要一些xx.dll文件支持。
3、配置path
每个都要进入nwjs-v0.17.1-win-x64 才能运行nw 太麻烦了
可以添加目录到path 如: F:\work\nwjs\nwjs-v0.17.1-win-x64
这样任何地方都可以用nw 了。
nw 会运行默认实例。
运行项目 时直接到项目目录然后nw hello 即可哦