Electron学习笔记(技术胖)

Electron学习笔记(技术胖)

标签(空格分隔): 前端 桌面 技术胖 Electron


安装

前提:已经安装node,并且是10以上的版本

cnpm install electron --save-dev //仅安装在当前项目
cnpm install -g electron // 全局安装
npx electron -v // 查看版本
npx electron // 打开Electron界面
npx electron . // 运行该程序

打包成exe文件

  • cnpm install electron-packager --save-dev //安装electron-packager
  • “packager”: “electron-packager ./ HelloWorld --all --out ./outApp --overwrite --icon=./app/img/icon/icon.ico” // 在package.json添加这个脚本
  • 在项目中新建outAPP文件夹。
  • cnpm run-script packager // 打包

其它资源

官方网站
https://www.electronjs.org/

Demo

Demo1:Hello World

效果:

- 打开一个普通应用程序的界面,主界面只有Hello World
var electron = require('electron');

var app = electron.app // 引用app
var BrowserWindow = electron.BrowserWindow // 窗口引用

var mainWindow = null // 声明要打开的主窗口

app.on('ready', ()=>{
   
    mainWindow = new BrowserWindow({
   width: 800, height: 800})
    mainWindow.loadFile('index.html') // 加载html界面,也就是渲染进程
    mainWindow.on('close', ()=>{
   
        mainWindow = null
    })
})

Demo2:读取xiaojiejie.txt文件的内容

html

<button id="btn">小姐姐请进来</button>
<div id="mybaby"></div>
<script src="./render/index.js"></script>

index.js如下

var fs = require('fs')
window.onload = function(){
   
    var btn = this.document.querySelector("#btn");
    var mybaby = this.document.querySelector("#mybaby");
    btn.onclick = function(){
   
        fs.readFile('xiaojiejie.txt', (err,data)=>{
   
            mybaby.innerHTML = data;
        })
    }
}

main.js 如下

var electron = require('electron');

var app = electron.app // 引用app
var BrowserWindow = electron.BrowserWindow // 窗口引用

var mainWindow = null // 声明要打开的主窗口

app.on('ready', ()=>{
   
    mainWindow = new BrowserWindow({
   
        width: 800,
        height: 800,
        webPreferences: {
   nodeIntegration: true} // 让node下的所有东西都可以在渲染进程中使用
    })
    mainWindow.loadFile('index.html') // 加载html界面,也就是渲染进程
    mainWindow.on('close', ()=>{
   
        mainWindow = null
    })
})

Demo3:点击打开新窗口

demo.html

<button id="btn">
    打开新的窗口
</button>
<script src="./render/demo.js"></script>

yellow.html

<body style="background-color: yellow;">
    <h1>我是黄色页面</h1>
</body>

demo.js

const btn = this.document.querySelector('#btn')
const BrowserWindow = require('electron').remote.BrowserWindow

window.onload = function(){
   
    btn.onclick = ()=>{
   
        newWin = new BrowserWindow({
   
            width: 500,
            height: 500
        })
        newWin.loadFile('yellow.html')
        newWin.on('close',()=>{
   
            newWin = null
        })
    }
}

main.js

var electron = require('electron');

var app = electron.app // 引用app
var BrowserWindow = electron.BrowserWindow // 窗口引用

var mainWindow = null // 声明要打开的主窗口

app.on('ready', ()=>{
   
    mainWindow = new BrowserWindow({
   
        width: 800,
        height: 800,
        webPreferences: {
   nodeIntegration: true} // 让node下的所有东西都可以在渲染进程中使用
    })
    mainWindow.loadFile('demo.html') // 加载html界面,也就是渲染进程
    mainWindow.on('close', ()=>{
   
        mainWindow = null
    })
})

Demo4:顶部菜单栏

demo.html

<button id="btn">
    打开新的窗口
</button>
<script src="./render/demo.js"></script>

menu.js

const {
   Menu, BrowserWindow} = require('electron');
var template = [
    {
   
        label: '凤来仪洗浴会所',
        submenu: [
            {
   
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值