广告
返回顶部
首页 > 资讯 > 精选 >electron开发构建工具怎么用
  • 727
分享到

electron开发构建工具怎么用

2023-06-29 23:06:31 727人浏览 安东尼
摘要

今天小编给大家分享一下electron开发构建工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言得益于 Vite

今天小编给大家分享一下electron开发构建工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    前言

    得益于 Vite 卓越的前端开发体验,越来越多的 Electron 项目也开始应用它来构建开发。翻阅各种社区资源可以发现很多基于 Vite 搭建的 Electron 开发模板,但都存在着一些共同的问题:

    • 配置相对复杂,繁琐(对 main,preload 和 renderer 分别配置)

    • 需要辅助脚本来配合编译开发

    • 无法举一反三,自主选择前端框架VueReact,svelte,……)

    面对这些问题,我们需要对 Electron 有了解。Electron 是一个基于 Chromium 和 node.js 的桌面应用框架,这意味着编译构建工具需要同时处理 node.js 和浏览器两种环境的代码。这是造成 Electron 开发构建工作复杂性的主因。

    知识点

    • 主进程和预加载脚本,需基于 cjs 模块化标准构建,运行在 node 环境

    • 渲染进程,通常融合现代前端框架如 vue.js,react 等基于 iife 模块化标准构建,运行在浏览器

    • 在 Electron 中开启 node 集成,可全程基于 cjs 模块化标准编写代码,尽管不需要编译构建,但不利于利用现代前端框架,还会面临严重的性能和安全问题

    • 基于 esm 标准不编译构建,尽管 node 本身已支持,但 Electron 并不支持,这也是 Electron 后续版本的一项工作

    electron-vite 是什么

    electron-vite 是一个与 Vite 集成的 Electron 构建工具。开发者无需过多关注配置,无论选择哪种前端框架都能轻松完成构建,提高 Electron 的开发构建效率。

    特性

    • ⚡️使用方式与 Vite 相同

    • ????主进程/渲染进程/preload脚本都使用 Vite 构建

    • ????统一所有配置,合并到一个文件中

    • ????预设构建配置,无需关注配置

    • ????支持渲染进程热更新(HMR)

    安装

    npm i electron-vite -D

    开发&编译

    在安装了 electron-vite 的项目中,可以直接使用 npx electron-vite 运行, 也可以在 package.JSON 文件中添加 npm scripts:

    {  "scripts": {    "start": "electron-vite preview", // start electron app to preview production build    "dev": "electron-vite dev", // start dev server and electron app    "prebuild": "electron-vite build" // build for production  }}

    为了使用热更新(HMR),需要使用环境变量(ELECTRON_RENDERER_URL)来决定 Electron 窗口加载本地页面还是远程页面。

    function createWindow() {  // Create the browser window  const mainWindow = new BrowserWindow({    width: 800,    height: 600,    WEBPreferences: {      preload: path.join(__dirname, '../preload/index.js')    }  })  // Load the remote URL for development or the local html file for production  if (!app.isPackaged && process.env['ELECTRON_RENDERER_URL']) {    mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])  } else {    mainWindow.loadFile(path.join(__dirname, '../renderer/index.html'))  }}

    注意: 在开发中, 渲染进程 index.html 文件需要通过 <script type="module"> 引用脚本。

    推荐项目目录

    ├──src|  ├──main|  |  ├──index.js|  |  └──...|  ├──preload|  |  ├──index.js|  |  └──...|  └──renderer|     ├──src|     ├──index.html|     └──...├──electron.vite.config.js└──package.json

    开始学习

    • 克隆 electron-vite-boilerplate (https://GitHub.com/alex8088/electron-vite-boilerplate) 项目学习

    • 通过 create-electron 脚手架来搭建项目学习

    npm init @quick-start/electron

    配置

    配置文件

    当以命令行方式运行 electron-vite 时, 将会自动尝试解析项目根目录中名为 electron.vite.config.js 的配置文件。最基本的配置文件如下所示:

    // electron.vite.config.jsexport default {  main: {    // vite config options  },  preload: {    // vite config options  },  renderer: {    // vite config options  }}

    你可以显式地通过 --config 命令行选项指定一个配置文件(相对于 cwd 路径进行解析):

    electron-vite --config my-config.js

    提示: electron-vite 也支持 ts 或者 mjs 的配置文件.

    配置智能提示

    因为 electron-vite 本身附带 typescript 类型,所以你可以通过 IDE 和 jsdoc 的配合来实现智能提示:

    const config = {  // ...}export default config

    你还可以使用 defineConfig and defineViteConfig 工具函数,这样不用 jsdoc 注解也可以获取类型提示:

    import { defineConfig, defineViteConfig } from 'electron-vite'export default defineConfig({  main: {    // ...  },  preload: {    // ...  },  renderer: defineViteConfig(({ command, mode }) => {    // conditional config use defineViteConfig    // ...  })})

    提示: defineViteConfigVite 中导出.

    预设配置

    基于主进程的编译项预设:
    • outDir: out\main(相对于根目录)

    • target: node*, 自动匹配 Electronnode 构建目标, 如 Electron 17 为 node16.13

    • lib.entry: src\main{index|main}.{js|ts|mjs|cjs}(相对于根目录), 找不到则为空

    • lib.formats: cjs

    • rollupOptions.external: electron和所有内置node模块(如果用户配置了外部模块ID,将自动合并)

    基于preload脚本的编译项预设:
    • outDir: out\preload(相对于根目录)

    • target: 同主进程

    • lib.entry: src\preload{index|preload}.{js|ts|mjs|cjs}(相对于根目录), 找不到则为空

    • lib.formats: cjs

    • rollupOptions.external: 同主进程

    基于渲染进程的编译项预设:
    • root: src\renderer(相对于根目录)

    • outDir: out\renderer(相对于根目录)

    • target: chrome*, 自动匹配 Electronchrome 构建目标. 如 Electron 17 为 chrome98

    • lib.entry: src\renderer\index.html(相对于根目录), 找不到则为空

    • polyfillModulePreload: false, 不需要为渲染进程 polyfill Module Preload

    • rollupOptions.external: 同主进程

    提示:如果你想在已有的项目中使用这些预设配置,可以使用 Vite 的插件 vite-plugin-electron-config (github.com/alex8088/vi&hellip;)

    配置问题

    如果 Electron 具有多窗口应该如何配置?

    当 Electron 应用程序具有多窗口时,就意味着可能有多个 html 页面和 preload 脚本,你可以像下面一样修改你的配置文件:

    export default {  main: {},  preload: {    build: {      rollupOptions: {        input: {          browser: resolve(__dirname, 'src/preload/browser.ts'),          webview: resolve(__dirname, 'src/preload/webview.ts')        }      }    }  },  renderer: {    build: {      rollupOptions: {        input: {          browser: resolve(__dirname, 'src/renderer/browser.html'),          webview: resolve(__dirname, 'src/renderer/webview.html')        }      }    }  }}

    以上就是“electron开发构建工具怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: electron开发构建工具怎么用

    本文链接: https://www.lsjlt.com/news/326757.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • electron开发构建工具怎么用
      今天小编给大家分享一下electron开发构建工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言得益于 Vite ...
      99+
      2023-06-29
    • electron-vite新一代electron开发构建工具
      目录前言electron-vite 是什么特性安装开发&编译推荐项目目录开始学习配置配置文件配置智能提示预设配置基于主进程的编译项预设:基于preload脚本的编译项预设:基...
      99+
      2022-11-13
    • 怎么使用Jenkins自动化构建工具进行敏捷开发
      这篇“怎么使用Jenkins自动化构建工具进行敏捷开发”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Jenkins自...
      99+
      2023-06-29
    • 怎么使用java构建工具gradle
      本篇内容主要讲解“怎么使用java构建工具gradle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用java构建工具gradle”吧!  现在我们都在谈领域驱动设计,Gradle本身的领...
      99+
      2023-06-25
    • Java开发工具Maven怎么用
      这篇文章给大家分享的是有关Java开发工具Maven怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Maven如果作为一个Java程序员,那么在日常的开发过程中,maven是很常见的项目构建工具。maven可...
      99+
      2023-06-15
    • 使用Jenkins自动化构建工具进行敏捷开发
      目录一、序言二、安装与使用(一)安装1、查看初始密码2、修改默认工作空间(二)使用1、构建配置2、添加项目(三)免密登录三、触发策略(一)定时触发(二)URL 触发(三)钩子触发附录...
      99+
      2022-11-13
    • 前端构建工具之gulp怎么用
      这篇文章将为大家详细讲解有关前端构建工具之gulp怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在如今的前端开发中,已经不再是一些静态文件了。对于很多Web A...
      99+
      2022-10-19
    • C#开发工具SharpDevelop怎么使用
      使用SharpDevelop进行C#开发的步骤如下:1. 安装SharpDevelop:从官方网站(https://www.icsh...
      99+
      2023-09-29
      C# SharpDevelop
    • 敏捷开发工具Leangoo 怎么用
      这篇文章的内容主要围绕敏捷开发工具Leangoo 怎么用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!为什么选择 Leangoo?很简单,因为它够简...
      99+
      2023-06-05
    • Java构建工具gradle怎么安装使用
      本文小编为大家详细介绍“Java构建工具gradle怎么安装使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java构建工具gradle怎么安装使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。学习Java的...
      99+
      2023-06-27
    • 怎么用Maven实现项目构建工具
      本篇内容主要讲解“怎么用Maven实现项目构建工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Maven实现项目构建工具”吧!1.Maven介绍1.1Maven是什么Maven项目对象模...
      99+
      2023-07-02
    • php用什么开发工具
      php可以使用以下开发工具:ZendStudio是除了支持php开发,还支持HTML、js、CSS等,但只对php语言提供调试支持的php语言集成开发环境。EclipsePHP是一个大型php项目开发编译器,基于Eclipse底层开发而来,...
      99+
      2022-10-18
    • vue.js用什么开发工具
      vue.js可以用vscode开发工具,vscode是微软出的一款轻量级代码编辑器,对JavaScript和NodeJS的支持非常好,功能强大,如果想开发vue还需要下载插件,操作步骤如下:进入vscode官网插件商店,地址:“https:...
      99+
      2022-10-13
    • jsp用什么开发工具
      JSP(JavaServer Pages)可以使用多种开发工具进行开发,以下是一些常用的工具:1. Eclipse:Eclipse ...
      99+
      2023-08-28
      jsp
    • 嵌入式linux开发工具怎么用
      今天小编给大家分享一下嵌入式linux开发工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
      99+
      2023-03-19
      linux
    • Python开发建议:如何高效利用Python开发工具
      Python是一种强大的编程语言,被广泛应用于各个领域的软件开发中。无论是大型项目还是小型工具,Python都能提供高效的开发方式和强大的工具支持。在本篇文章中,我将探讨一些如何高效利用Python开发工具的建议。首先,选择合适的集成开发环...
      99+
      2023-11-23
      高效开发 开发建议 关键词:Python工具
    • html5开发可以用什么开发工具
      这篇文章主要介绍html5开发可以用什么开发工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 做html5开发可用的工具:1、Sublime Text;...
      99+
      2022-10-19
    • 如何使用低代码开发工具构建高效的移动应用
      随着移动应用市场的不断扩大,企业对移动应用的需求也越来越高。然而,开发一款高质量的移动应用需要大量的时间和资源,对于许多企业来说,这是一个巨大的挑战。这时候,低代码开发工具就应运而生了。低代码开发工具可以帮助企业以更低的成本、更快的速度开发...
      99+
      2023-12-17
      高效 如何使用 开发工具
    • Linux自动化构建工具Makefile与make怎么用
      这篇文章主要介绍“Linux自动化构建工具Makefile与make怎么用”,在日常操作中,相信很多人在Linux自动化构建工具Makefile与make怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”L...
      99+
      2023-06-28
    • Vue的新型前端构建工具Vite怎么用
      本文小编为大家详细介绍“Vue的新型前端构建工具Vite怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue的新型前端构建工具Vite怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。从 Vite 开始...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作