介绍
electron是 GitHub 在2013年开发的一款跨 Mac/Windows/Linux 系统的框架,使用 Html/Css/JavaScript 来构建跨平台桌面应用程序,2014年开始开源,官网请访问 http://www.electronjs.org/
原理
electron 是一个精简版的 Chromium 浏览器,使用 web 页面作为它的 GUI,但是比原生的桌面端应用还是有些不足。从本质上看,electron application 是一个 Node. js 应用程序。
环境依赖
Node.js 和 npm,国内可以使用 cnpm(淘宝镜像)代替 npm
编辑器
使用 GitHub 的 Atom 或者微软的 Visual Studio Code 来编写 electron 应用
应用结构
your-app /
├── package.json(应用的配置)
├── main.js(入口文件)
└── index.html(首页)
新建项目
安装 electron
为每个 app 单独的安装 electron (可以是不同版本)
npm install electron --save-dev
全局安装 electron(省得每次都去安装)
npm install electron -g
官方安装文档
安装成功检验(全局方式)
使用命令提示符窗口或者命令行工具输入 “electron” 后回车,有以下内容才是成功
创建 electron 应用
创建项目根目录
在想要存放应用项目文件的地方新建一个文件夹,以项目名称命名,然后打开文件夹,在项目文件夹中启动命令提示符窗口或者命令行工具
初始化项目
npm init
再次确认项目名称(一般都是直接回车)
初始项目版本(可以在后面修改)
项目描述(可以不写直接回车)
项目启动节点(初始化文件,默认index.js,我这里用main.js)
测试参数(看情况设置)
这里建议配置为 “electron .” ,这个在后面的启动应用步骤会说到原因
git代码管理仓库(看情况设置)
关键词、作者(看情况设置)
协议许可证(看情况设置【商业、开源等等】,默认ISC开源)
后面就是再次确认配置信息(回车确认直接生成package.json配置文件)
想要修改项目配置也可以在生成的package.json文件中修改
编写应用代码
创建main.js入口文件
在package.json的同级新建main.js文件
在package.json文件中这个文件就是之前配置的入口文件
const {
app,
BrowserWindow
} = require('electron')
function createWindow() {
// 创建浏览器窗口
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
})
// 并且为你的应用加载index.html
win.loadFile('index.html')
// 打开开发者工具
win.webContents.openDevTools()
}
// Electron会在初始化完成并且准备好创建浏览器窗口时调用这个方法
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(createWindow)
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
// 您可以把应用程序其他的流程写在在此文件中
// 代码 也可以拆分成几个文件,然后用 require 导入。
把上面的代码复制到main.js文件中,main.js文件就初步完成了
创建index.html文件
在package.json的同级新建index.html文件
然后随便写点什么
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>首页</title>
</head>
<body>
你好
</body>
</html>
启动应用
在项目根目录下(package.json的同级)打开cmd(命令提示符窗口)或者命令行工具,敲写以下命令
electron .
然后应用就启动了
注意
之前在配置 “test command” 时可以配置为 “electron .” 。配置后package.json中会有启动配置信息
然后启动时就可以使用 “npm test” 来启动
或者直接修改package.json中的内容
然后启动时就用 “npm start” 来启动
至此,应用就初步创建完成了,剩下的舔砖加瓦就可以对照官方文档来发挥了。