Nodejs 用node-webkit开发桌面应用
Nodejs 用node-webkit开发桌面应用
<!-- more -->
node-webkit能做什么?
用Web技术(Node.JS,JavaScript,HTML5)开发桌面应用程序。(对,我理解的就是这样)
大家都做了什么?
这里有一份 优秀作品 的列表,点这里看看。
准备工作
怎么样,看完那些作品,有没有血液沸腾,不知道你有没有,反正我是有的。 接下来实现一个对话聊天的桌面应用,叫做 葫芦鸭!,好吧,就是山寨 小黄鸡 啦。
本文重点不在于 葫芦鸭,而是node-webkit的简单尝试,所以就不废话了,材料我都准备好了。 所需材料如下:
- 葫芦鸭
(通过web技术写好的应用)
- node-webkit
第一步
跟node.js一样,在源码的根目录下需要建立 package.json
,详细的参数和介绍在这里。
{
"main": "index.html", // 启动页面
"name": "ga",
"window": {
"toolbar": false, // 工具栏
"frame": false, // 框架
"width": 430,
"height": 450,
"resizable": false
}
}
第二步
运行
-
将源码压缩成zip文件
注意哦,要如图那样的压缩,不能包含文件夹
-
直接将打包好的zip拖入到
nw.exe
,就算是运行成功了。打包
在当前目录下用命令行执行 我的用的是shift+右键调出的菜单
copy /b nw.exe+ga.zip app.exe
注意,第三个参数 nw.exe+ga.zip
是有顺序的,不能对调
第三步
没了,写完了。
后续
Q 博主,你写的文章怎么这么坑,好像什么都没讲! A 对,我的文章就是这么坑,因为我对node-webkit不是很了解,想了好久,才写了这么点。 当然node-webkit能做的并不是本文写的那么浅显,例如
- 解除了浏览器
沙盒
限制,像 葫芦鸭 中用到的跨域,原本单凭前端是无法实现的。 - 可以使用node.js,除了node.js本身的特性,意味着npm中那么多的扩展可以供你使用。
- node-webkit还实现了本地化的API,例如
菜单栏
,系统的托盘图标
支持,系统剪贴板
等
技术: jquery + node-webkit
时间: 2014年3月
源码: Guthub
博客: 我的博客
好东西
Nodejs 用node-webkit开发桌面应用
node-webkit能做什么?
用Web技术(Node.JS,JavaScript,HTML5)开发桌面应用程序。这就是说,你可以利用熟悉的Web技术来构建功能强大的桌面应用。
大家都做了什么?
这里有一份 优秀作品 的列表,点这里看看。
准备工作
看完那些作品,是不是很激动?让我们来实现一个简单的桌面应用——葫芦鸭!它其实就是一个模仿小黄鸡的聊天应用。
本文的重点在于node-webkit的简单尝试,因此不会过多讲解具体的应用逻辑。以下是所需的材料:
第一步:创建package.json
与Node.js类似,在项目的根目录下需要创建一个package.json
文件。这个文件用于描述你的应用的基本信息和配置。
{
"main": "index.html", // 启动页面
"name": "ga",
"window": {
"toolbar": false, // 隐藏工具栏
"frame": false, // 隐藏框架
"width": 430,
"height": 450,
"resizable": false
}
}
第二步:运行应用
1. 打包应用
首先,将你的应用源码压缩成ZIP文件。注意,压缩时不要包含任何文件夹。
2. 运行应用
将压缩好的ZIP文件拖入到nw.exe
文件中即可启动应用。
3. 使用命令行打包
你也可以在命令行中使用以下命令来打包应用:
copy /b nw.exe+ga.zip app.exe
注意,nw.exe+ga.zip
的顺序不能颠倒。
第三步:完成
至此,你就完成了一个简单的桌面应用的开发和打包。你可以继续探索更多node-webkit的功能和特性。
后续
Q: 博主,你的文章怎么这么坑,好像什么都没讲!
A: 对,我的文章就是这么坑。因为我对node-webkit的了解有限,但node-webkit能做的事情远不止这些。例如:
- 解除了浏览器的沙盒限制,使得跨域操作成为可能。
- 可以使用Node.js及其丰富的扩展库(npm)。
- 实现了本地化的API,如菜单栏、系统的托盘图标支持以及系统剪贴板等。
希望这篇文章能够激发你进一步探索node-webkit的兴趣!
技术:jQuery + node-webkit
时间:2014年3月
源码:GitHub
博客:我的博客
哈哈 教程很用心 nice
LZ很有爱,教程写的很好,1分钟我就看懂了,谢了
很nice的教材! 大赞!
cool
楼主你好,问个很弱的问题,这些gif图是用什么软件生成的啊?
awesome
是gifcam
[@think2011](/user/think2011) 打包过使用express框架的项目吗
[@chigco](/user/chigco) 没有,就我的认识(并没有开发过实际项目), node-webkit仅仅只是一个运行框架,外加本地API,跟一般的node.js项目没什么区别。
如果只是单独运行这个生成的app.exe,就会出现图片所示的错误。
不知为何???
想要这个工具用好,就得掌握ffi模块,掌握ffi模块,得先掌握ref模块.
图片教程 很cool
哎。真是想偷个懒也不行啊,有没有直接可以将现有的nodejs应用打包成各种端的呢?
我早就想弄cnode 的桌面版,不过没得妹子做UI
[@huazhenhz](/user/huazhenhz) 那些dll要加进去才行
楼主用什么截屏软件啊,好像比我现在用的GifCam好用。
教程里的动态图很赞!
[@hainee](/user/hainee) 不好意思,之前那么长时间竟然知道忘了看回复!了解啦,多谢!
Node-WebKit 是一个基于 Chromium 和 Node.js 的桌面应用程序开发框架。你可以使用 HTML、CSS 和 JavaScript 开发桌面应用,并且可以直接调用 Node.js 的 API 来处理本地文件系统、网络请求等任务。
下面是基于你提供的内容的一些步骤说明:
第一步:创建 package.json
首先,你需要创建一个 package.json
文件来配置你的应用信息。示例如下:
{
"main": "index.html",
"name": "葫芦鸭",
"version": "1.0.0",
"description": "一个用Node.js和Node-WebKit开发的桌面应用",
"author": "Your Name",
"window": {
"toolbar": false,
"frame": false,
"width": 430,
"height": 450,
"resizable": false
}
}
第二步:运行应用
- 将你的项目文件压缩为 zip 格式,但不要包含任何文件夹结构。直接将所有文件压缩在一起。
- 打开 node-webkit 应用程序(通常是
nw.exe
),然后将压缩后的 zip 文件拖放到该程序上。
第三步:打包应用
你也可以通过命令行来打包应用。假设你已经在项目目录中,执行以下命令:
copy /b nw.exe+your_project.zip app.exe
这将会生成一个可执行文件 app.exe
。
示例代码
假设你的项目有一个简单的 index.html
文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<title>葫芦鸭</title>
</head>
<body>
<h1>你好,葫芦鸭!</h1>
<script>
document.addEventListener('DOMContentLoaded', function() {
console.log('HuluYa Desktop App is running!');
});
</script>
</body>
</html>
以上步骤和代码应该可以帮助你启动一个基本的 Node-WebKit 应用程序。更多高级功能和细节可以参考官方文档或进一步探索 Node-WebKit 提供的各种 API。