使用Electron开发基于Node.js的桌面应用

最近小编在查看分享资料时,发现一个可以开发跨平台桌面应用的框架——NW.js(原名:node-webkit)。正当小编兴致勃勃的研究NW.js的时候,最基础的安装环节出了问题。无论用npm还是cnpm都无法完整下载所依赖的包(具体原因待考察)。鉴于此,我只能转向研究另一个同类型的框架——Electron(原名:Atom Shell)。

首先,进入Electron的github官网,上边有详细的文档说明。为了快速搭建应用框架,我们可以选择Electron的electron-quick-start项目。以下相关操作都在win7的64位操作系统中进行。

打开E盘,新建目录desktop-app-demo,打开gitbash,进入此目录,输入git命令下载electron-quick-start项目代码。

进入目录electron-quick-start,输入命令npm install,安装相关依赖包。

输入命令npm start,运行项目。如果弹出Hello World的窗口,说明项目运行成功。如下图:

现在,我们要将项目代码打包成系统安装软件。这里我们采用一种比较简洁的方式进行打包——使用electron-builder模块。

输入命令cnpm install electron-builder -g, 全局安装electron-builder模块。安装完成后,输入命令build --help,测试是否安装成功。如下图:

如果出现帮助信息,即为安装成功。

需要在项目文件夹下新建资源文件夹(这里新建名字为res的目录),将程序发布所用的图标等资源统一放进资源文件夹进行管理。(打包windows exe需要ico文件像素为256*256)。如下图:

编辑项目目录里的package.json,添加electron-builder编译所需要的属性,如下图:

更多配置详情请参考https://github.com/electron-userland/electron-builder

配置完成后在项目目录里执行命令build --win --x64。执行命令后即开始打包,无报错后即打包成功。如下图:

打包成功后,会在项目目录里自动生成dist目录,里边存有生成的桌面应用安装包。如下图:

这个安装包可以随意复制、移动、重命名。我们可以把它复制到E盘下,重名为desktop-demo.exe。双击安装运行,如下图:

安装成功后,会自动在桌面生成一个快捷方式,如下图:

如果想卸载此应用,可以直接在软件管理软件中卸载,如下图:

这样,我们通过nodejs制作的基于windows桌面应用demo就完成了。如果想生成其他系统的安装包,只要按照electron-builder的官方文档说明打包即可。

代码地址:

https://github.com/gaofei019/a-desktop-app-demo

查看公众号文章

欢迎关注个人公众号,查看更多好文。

时间: 2025-01-19 11:01:35

使用Electron开发基于Node.js的桌面应用的相关文章

Gravit —— 开源基于 Node.js 的在线设计工具

Gravit 是一个开源的在线设计工具.基于 Node.js 开发.在线演示:http://hub.gravit.io/browser/ 文章转载自 开源中国社区 [http://www.oschina.net]

基于node.js的快速开发透明代理_javascript技巧

但是最近服务器端js的火爆确实因为node.js项目.在velocity china 2010大会Douglas Crockford(Yahoo!)也有一个topic<卷土重来:服务器端JavaScript>提到node.js.关于node.js的详细资料请google.       node.js的非常大的一个特点就是事件驱动,在开发服务器端服务的时候显得非常方便.昨晚在新浪的@timYang也提到了node.js,估计新浪微博也注意到了它的优点.同时,淘宝最近也表示对node.js有相当的

云应用程序开发因为Node.js而改变

有相当一部分的企业计算机商店都在致力于特定开发平台,他们通过使用两名企业计算机领域的成员:Oracle的Java EE平台和微软的.NET来实现.当企业架构师和IT经理决定转移到一些其他新领域而避开这些技术型开发实践时,那就说明是相当成功了,但事实上,这样的事情已经频频发生.对于企业来说,什么才是新的.关键技术?这取决于公司的决策者将会推崇什么样的策略.而Node.js服务器端脚本语言足够强大到在保证提高可伸缩性和性能的同时,又具备一个简单的编程库,让任何人都能够快速得到编程的能力. Node.

使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目_node.js

Grunt 简介Grunt是一款基于js和node.js的构建工具,由于这段时间node.js越来越火爆,grunt拥有丰富的开源社区支持,产生了很多插件.还有一些插件散落在node社区.构建是一个和宽泛的表述,传统理解就是编译.打包.复制,而今,随着技术越来越丰富,构建还包括对前端组件的预处理,比如sass.less预处理成css,css和js的压缩和合并.grunt的插件可以很好的支持这些新的构建概念,而且更为适合用开源技术堆砌的项目. 虽然Grunt更多的用于程序构建,但是本质上Grunt

基于 Node.js 实现前后端分离_node.js

基本介绍 首先从一个重要的概念"模板"说起. 广义上来说,web中的模板就是填充数据后可以生成文件的页面. 严格意义上来说,应该是模板引擎利用特定格式的文件和所提供的数据编译生成页面.模板大致分为前端模板(如ejs)和后端模板(如freemarker)分别在浏览器端和服务器端编译. 由于当场有一部分同学对node.js并不是很了解,这里补充一下node.js的相关知识.官网上的给他的定义事件驱动.异步什么的就不说了.这里借用朴灵书上的一张图来解释一下node.js这个玩意的结构.如果懂

基于Node.js的强大爬虫 能直接发布抓取的文章哦_node.js

一.环境配置 1)搞一台服务器,什么linux都行,我用的是CentOS 6.5: 2)装个mysql数据库,5.5或5.6均可,图省事可以直接用lnmp或lamp来装,回头还能直接在浏览器看日志: 3)先安个node.js环境,我用的是0.12.7,更靠后的版本没试过: 4)执行npm -g install forever,安装forever好让爬虫在后台跑: 5)把所有代码整到本地(整=git clone): 6)在项目目录下执行npm install安装依赖库: 7)在项目目录下创建jso

基于Node.js + WebSocket打造即时聊天程序嗨聊_node.js

前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前后端之间代码敲得飞起,从此由前端晋升为'前后端'. 本文将使用Node.js加web socket协议打造一个网页即时聊天程序,取名为HiChat,中文翻过来就是'嗨聊',听中文名有点像是专为寂寞单身男女打造的~ 其中将会使用到express和socket.io两个包模块,下面会有介绍. 源码 源码

node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作_node.js

Node.js是一套用来编写高性能网络服务器的JavaScript工具包   通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 MySQL 数据库. 安装MySQL模块到NodeJS中 我们需要让NodeJS支持MySQL,则需要将MySQL模块添加到系统支持库   想要快速了解Node.js ,赞生推荐亲看看 node.js_guide.pdf  - node.js 开发指南 :想要电

基于Node.js的JavaScript项目构建工具gulp的使用教程_javascript技巧

npm install gulp --save-dev 什么是gulp?gulp是新一代的前端项目构建工具,你可以使用gulp及其插件对你的项目代码(less,sass)进行编译,还可以压缩你的js和css代码,甚至压缩你的图片,gulp仅有少量的API,所以非常容易学习. gulp 使用 stream 方式处理内容.Node催生了一批自动化工具,像Bower,Yeoman,Grunt等. gulp和grunt的异同点易于使用:采用代码优于配置策略,Gulp让简单的事情继续简单,复杂的任务变得可