如何构建一个最简单的electron应用

electron的学习----如何构建一个最简单的electron应用

下面,我们就来进行构建一个hello World项目

1 准备工作

一个最基本的 Electron application 需要这些文件:

  • package.json - 处理应用的依赖和版本描述等说明性信息.
  • main.js - 入口页面和渲染html页面. 这个文件是应用的 main process.–主进程
  • index.html - 要渲染的页面,这个页面是应用的 renderer process–渲染进程.
2 构建和运行

现在我们进行项目的创建,创建我们所需要的项目,命名为helloworld_electron,然后在项目中创建如下图所示的目录结构
[结构目录],在结构中electron.md是我用来进行说明的,在这个项目中没有作用

在文件中的内容分别如下所示:

index.html

   <!DOCTYPE html>
   <html>
   <head>
       <meta charset="UTF-8">
       <title>Hello World!</title>
   </head>
   <body>
   <h1>Hello World!</h1>
   We are using Node.js <script>document.write(process.versions.node)</script>,
   Chromium <script>document.write(process.versions.chrome)</script>,
   and Electron <script>document.write(process.versions.electron)</script>.
   </body>
   </html>

main.js

   const electron = require('electron')
   const app = electron.app
   const BrowserWindow = electron.BrowserWindow   
   const path = require('path')
   const url = require('url')
   let mainWindow
   function createWindow () {
       mainWindow = new BrowserWindow({width: 800, height: 600})   
       mainWindow.loadURL(url.format({
           pathname: path.join(__dirname, './src/index.html'),
           protocol: 'file:',
           slashes: true
       }))   
       // 打开调试工具DevTools.
       mainWindow.webContents.openDevTools()   
       mainWindow.on('closed', function () {
           mainWindow = null
       })
   }
   app.on('ready', createWindow)
   app.on('window-all-closed', function () {
       if (process.platform !== 'darwin') {
           app.quit()
       }
   })   
   app.on('activate', function () {
       if (mainWindow === null) {
           createWindow()
       }
   })  

package.json

{
  "name": "helloworld_electron",
  "version": "1.0.0",
  "description": "'A test for electron, a desktop tool'",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "jkwu",
  "license": "ISC",
  "keywords": [
    "Electron",
    "start",
    "demo"
  ],
  "devDependencies": {
    "electron": "~1.6.2"
  }
}

在实现上面过程之后,我们就能够进行调试,首先我们需要运行命令

npm install

进行安装依赖,也就是安装下面内容:

   "devDependencies": {
     "electron": "~1.6.2"
   }

安装之后,我们就能够通过命令

npm start

来进行启动,如下图所示:是我的启动结果

3 打包处理

通过上面的流程,我们能够实现一个最基本的打包,但是,这还不能够跨平台像一个应用软件一样,那么,我们如何
进行打包成这样??
具体步骤如下所示:
安装打包依赖:

  npm install electron-packager --save-dev

将会安装"electron-packager": "^8.6.0"到依赖库中,这是package.json将会自动变化为下面代码
还有为了方便,我在scripts中直接添加了packager项,主要是运行打包命令

  {
       "name": "helloworld_electron",
       "version": "1.0.0",
       "description": "'A test for electron, a desktop tool'",
       "main": "main.js",
       "scripts": {
         "start": "electron .",
         "packager-linux": "electron-packager ./ helloworld --overwrite --platform=linux --arch=x64 --ignore=node_modules",
         "packager-win": "electron-packager ./ helloworld --overwrite --platform=win32 --ignore=node_modules --ignore=app --ignore=OutPut",
         "packager-mac": "electron-packager ./ helloworld --overwrite --platform=darwin --arch=x64 --ignore=node_modules"
       },
       "author": "jkwu",
       "license": "ISC",
       "keywords": [
         "Electron",
         "start",
         "demo"
       ],
       "devDependencies": {
         "electron": "~1.6.2",
         "electron-packager": "^8.6.0"
       }
     }

最后,我们执行下面命令 ,打包一个linux文件包

  npm run packager-linux     

即可完成打包Linux包,打包之后会在项目里边生成一个文件夹,进入文件夹双击生成的可运行文件,即可打开桌面应用,(注意:linux系统在打包win的时候,需要安装wine,使用命令sudo apt-get install wine64安装即可)

4.注意事项

electron安装注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suwu150

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值