Electron开发 —— 简单demo

2020-08-24  本文已影响0人  潇潇剑_易水阁

总得有个开始

前置条件:

一:步骤:

1. 创建项目,选择自己项目位置创建项目文件,本文项目名为Demo,CMD(PowerShell或vscore打开文件)切换到项目根目录下,设置包声明文件后安装Electron:

// 一路默认即可,后续可以按自己需要修改,当然手动创建或者命令后修改package.json亦可
npm init
npm install --save-dev electron

下载慢解决之一,若Downloading electron-vX.X.X-win32-x64.zip下载很慢或者遇到这个超时报错RequestError: read ECONNRESET,则依下所行,个人已证实的做法:请先切换淘宝源(其他源亦可,看你的喜好,就编辑此文时,该源依然是首选),然后指定下载源位置,当前项目根目录位置新建.npmrc文件(不推荐直接修改npm默认的.npmrc文件,但是单独的需要每次项目都需要这样操作,除非版本固定下来,谦麻烦可以直接修改),内容如下

electron_mirror=https://npm.taobao.org/mirrors/electron/

后面的项目不需要在这样,因为已经在全局Cache保存了这个,至于另外那些更新node的,其实没必要,只要符合官方指定最低版本即可,解决的依然是源的问题,非node本身,下载文件和处理文件是两码事,以及那些在淘宝源或者其他源下载后再放在全局Cache路径的,个人认为还不如这种来得快捷,这些,官方均已有文档,看下即可。。。

下载慢解决之二,无需切换源,当然有些包在国内还是淘宝源快,仅指定安装包路径,全局安装,安装一次即有对应版本的安装包,下次就无需指定代理,除非下载其他版本

 ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/ npm install -g electron

2.在项目根目录下创建默认执行脚本和默认首页,名称都是可以在package.json里面进行修改,然后在创建对应的,项目结构如下:

Demo/
├── node_modules(忽略)
├── package.json
├── package-lock.json (忽略)
├── index.js(官方demo为main.js,感觉main这个单词比index在此处的表述更恰当,建议改这个,本文沿用main.js)
└── index.html

3.修改main.js,内容如下:

const { app, BrowserWindow } = require('electron')

function createWindow () {   
  // 创建浏览器窗口
  let win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  })

  // 加载index.html文件
  win.loadFile('index.html')
}

 // 应用程序准备就绪后打开一个窗口
app.whenReady().then(createWindow)

4.修改index.html,内容如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Demo</title>
  </head>
  <body>
    <h1>潇风剑易水</h1>
  </body>
</html>

5.修改package.json,添加Electron运行时

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "yishui",
  "license": "ISC",
  "devDependencies": {
    "electron": "^9.2.1"
  }
}

6.运行

npm start

demo运行图:


demo运行图.png

7.至此demo完毕,想参考更多,请git下官方demo

 git clone https://github.com/electron/electron-quick-start
 git clone https://github.com/electron/electron-api-demos
上一篇下一篇

猜你喜欢

热点阅读