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

简介: 跨平台桌面应用很难吗?遇到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项目代码。

9ae72959f4b72a0d2a3e027795f1534c771580d6

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

f75e2cb04bb4d97257c306f6cc4c694b0ccabd67

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

0dbf5d9ba8066b21f9c3c6c192868992bd73fe99

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

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

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

4412cc88246436538facf25e88eac6055d902344

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

50eaecd3352d9440fb145bcef63cd2614a81b37d


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

74266cac4ff11176d4a3128653bb704897580fc2

打包成功后,会在项目目录里自动生成dist目录,里边存有生成的桌面应用安装包。如下图:
15014f190e35fe32f91b4580e7d9f652b4c063cb
这个安装包可以随意复制、移动、重命名。我们可以把它复制到E盘下,重名为desktop-demo.exe。双击安装运行,如下图:

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

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

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


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

3c9443f5671a70732ca1e6ee8cdd027439c92725

相关文章
|
1天前
|
缓存 JavaScript 前端开发
高效打造跨平台桌面应用:Electron加载服务器端JS
【9月更文挑战第17天】Electron 是一个基于 Chromium 和 Node.js 的开源框架,允许使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用。加载服务器端 JS 可增强应用灵活性,实现代码复用、动态更新及实时通信。通过 HTTP 请求、WebSocket 或文件系统可实现加载,但需注意安全性、性能和兼容性问题。开发者应根据需求选择合适方法并谨慎实施。
|
4天前
|
Web App开发 存储 JavaScript
深入浅出Node.js后端开发
【9月更文挑战第15天】在数字化浪潮中,Node.js作为一颗耀眼的星辰,为后端开发领域注入了活力与创新。本文将带你领略Node.js的魅力所在,探索其架构设计、性能优化及实战应用,让你在轻松愉快的氛围中掌握Node.js后端开发的精髓。
|
8天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【9月更文挑战第11天】本文将带你走进Node.js的世界,了解其背后的运行机制和实际应用。我们将从基础概念出发,逐步深入到实战应用,最后通过代码示例巩固学习成果。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和思考。
|
6天前
|
JavaScript 前端开发 API
深入浅出Node.js后端开发
【9月更文挑战第13天】本文将带你进入Node.js的世界,从基础概念到实际案例,深入浅出地探讨如何利用Node.js进行后端开发。通过本文的学习,你将了解Node.js的工作原理、核心模块、以及如何构建一个简单的Web应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
8天前
|
缓存 JavaScript 前端开发
深入浅出Node.js后端开发
【9月更文挑战第11天】本文将带你进入Node.js的世界,探索其背后的哲学、核心概念以及如何利用它来构建高效、可扩展的后端服务。无论你是前端开发者寻求全栈技能,还是后端开发者希望拓宽技术栈,这篇文章都将为你提供价值。我们将从基础讲起,逐步深入到实战应用,让你对Node.js有一个全面而深刻的理解。
19 2
|
8天前
|
Web App开发 JavaScript NoSQL
深入浅出Node.js后端开发
在数字化时代的浪潮中,后端开发作为技术支柱之一,承载着数据处理和业务逻辑实现的重要任务。本文将通过浅显易懂的方式,带你走进Node.js的世界,从基础概念到实战应用,逐步揭开后端开发的神秘面纱。无论你是编程新手还是希望扩展技术栈的开发者,这篇文章都将为你提供有价值的指导和启示。让我们一起探索如何在不断变化的技术环境中,保持初心,寻找属于自己的方向,并成为希望在世界上看到的改变。
20 1
|
JavaScript Linux iOS开发
electron-利用node开发桌面应用
简介 web前端语言的发展有目共睹, 从原来的pc web, 到后来的mobile SAP, 再到 nodejs,全站工程师应运而生. js快速而且稳健的发展让人不得不重视, 相应的前端开发人员的地位也越来越高, 越来越多的人愿意投入到前端的阵营里去.
2207 0
|
8天前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
4天前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
|
1月前
|
缓存 JavaScript 安全
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
这篇文章提供了2022年最新最详细的Node.js和cnpm安装教程,包括步骤图解、全局配置路径、cnpm安装命令、nrm的安装与使用,以及如何管理npm源和测试速度。
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)