Electron之初体验

Electron是一款使用HtmlCssJS开发跨平台桌面应用的框架。

话不多说直接开搞。

必坑指南:

  • node版本>=18.0

  • 使用淘宝镜像安装npm相关包;

  • 把下面两行配置放到你的npmrc文件中

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

创建项目

使用下面命令创建一个空项目

shell 复制代码
mkdir electron-demo && cd electron-demo
npm init

安装electron依赖包,等待安装完成

shell 复制代码
cnpm install --save-dev electron

写代码

创建index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <h1 id="hello"></h1>
</body>
</html>

创建preload.js,会在应用加载渲染进程之前执行这个文件的代码

js 复制代码
// dom内容加载成功的监听
window.addEventListener('DOMContentLoaded', () => {
	// 加载页面成功之后设置元素的内容
    const element = document.getElementById('hello')
    element.innerText = 'Hello,Electron!'
})

创建main.js,整个项目的入口js文件

js 复制代码
const { app, BrowserWindow } = require('electron')
const {join} = require("path");

// 创建应用窗口
const createWindow = () => {
    const win = new BrowserWindow({
    	// 窗口尺寸
        width: 800,
        height: 600,
        webPreferences: {
        	// 设置渲染前执行的js文件
            preload: join(__dirname, 'preload.js')
        }
    })
    // 加载的html文件
    win.loadFile('index.html')
}

app.whenReady().then(() => {
    createWindow()
})

启动项目

修改package.json

设置入口js文件

json 复制代码
  "main": "main.js",

设置启动脚本

json 复制代码
  "scripts": {
    "start": "electron ."
  },

执行脚本

shell 复制代码
npm start

正常情况会出现下面这个窗口

相关推荐
Smile_Gently2 小时前
前端:最简单封装nmp插件(组件)过程。
前端·javascript·vue.js·elementui·vue
nihui1237 小时前
Uniapp 实现顶部标签页切换功能?
javascript·vue.js·uni-app
luckycoke8 小时前
小程序立体轮播
前端·css·小程序
一 乐8 小时前
高校体育场管理系统系统|体育场管理系统小程序设计与实现(源码+数据库+文档)
前端·javascript·数据库·spring boot·高校体育馆系统
懒羊羊我小弟8 小时前
常用Webpack Loader汇总介绍
前端·webpack·node.js
shengmeshi8 小时前
vue3项目img标签动态设置src,提示:ReferenceError: require is not defined
javascript·vue.js·ecmascript
BillKu8 小时前
vue3中<el-table-column>状态的显示
javascript·vue.js·elementui
祈澈菇凉9 小时前
ES6模块的异步加载是如何实现的?
前端·javascript·es6
我爱学习_zwj9 小时前
4.从零开始学会Vue--{{组件通信}}
前端·javascript·vue.js·笔记·前端框架
顾比魁9 小时前
XSS盲打:当攻击者“盲狙”管理员
前端·网络安全·xss