创建第一个electron项目

安装

  • 创建package.json

    npm init

  • 创建electron

    npm install --save-dev electron

  • 创建程序主入口文件 main.js,electron分为主进程和渲染进程,main,js也可以理解为electron项目的主进程,在主进程中是node环境不可以写操作dom方法,在渲染进程中是浏览器环境 可以写操作dom的一些方法

  • 使用nodemon快速启动项目

    npm install -g nodemon

  • package.json文件里面的配置 我这里的版本是28,后续博客关于electron的项目也是这个版本

    {
    "name": "my-electron-app",
    "version": "1.0.0",
    "description": "Hello World!",
    "main": "main.js",
    "author": "Jane Doe",
    "license": "MIT",
    "scripts": {
    "start": "nodemon --exec electron ."
    },
    "devDependencies": {
    "electron": "^28.1.0"
    }
    }

  • main.js 基本配置

    //BrowserWindow 窗口模块
    const { app, BrowserWindow } = require("electron");
    const path = require("path");
    const createWindow = () => {
    // Create the browser window.
    const mainWindow = new BrowserWindow({
    width: 600,
    height: 600,
    webPreferences: {
    preload: path.join(__dirname, "preload.js"),
    },
    frame: false, //隐藏标题栏
    });
    //每次启动弹出调试框
    mainWindow.webContents.toggleDevTools();
    // 加载页面文件
    mainWindow.loadFile(path.resolve(__dirname, "index.html"));
    // 加载外部链接
    // mainWindow.loadURL('https://www.bilibili.com/video/BV1XA411m7Rz?p=7&vd_source=3f2d70e03f43eedd302d3543ad8099b2')
    // 打开开发工具
    // mainWindow.webContents.openDevTools()
    };

  1. 在main.js 中加载了index.html页面,也可以使用在线的url,为了方便开发进行调试可以使用mainWindow.webContents.openDevTools()这个方法打开调试器 这样就不用每次手动去点开了

index页面配置

复制代码
<!--index.html-->

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    <title>你好!</title>
</head>

<body>
    <h1>1121asdasdasdasd 3!</h1>
    我们正在使用 Node.js <span id="node-version"></span>, Chromium <span id="chrome-version"></span>, 和 Electron <span id="electron-version"></span>.

    <!-- 您也可以此进程中运行其他文件 -->
  	        <script src="./renderer.js"></script>
</body>

</html>

启动项目

复制代码
npm start
相关推荐
李姆斯4 小时前
为啥Agent在coding表现这么好,但是在别的领域就是差的不少?
前端·agent·ai编程
鱼与宇6 小时前
前端Web(html+css+js+vue3)
前端
雪芽蓝域zzs8 小时前
(六)打包优化 + Nginx 部署完整配置 + 项目收尾
前端·vue.js
研☆香8 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
东风破_8 小时前
JWT 1:从一个登录请求开始,理解 React 项目里的 API 层与 Mock
前端·后端
东风破_8 小时前
JWT 3:为什么 Token 要放进 Authorization?Axios 拦截器到底解决了什么?
前端·后端
东风破_8 小时前
JWT 5:路由守卫是什么?把整个 JWT 登录鉴权流程串起来
前端·后端
东风破_8 小时前
JWT 2:HTTP 是无状态的,为什么登录成功后还要给 Token?
前端·后端
东风破_9 小时前
JWT 4:Zustand 到底解决了什么?为什么登录状态要放进 Store?
前端·后端
IT_陈寒9 小时前
Vite动态导入差点让我秃头,原来问题出在这
前端·人工智能·后端