electron vite,Electron 开发

  electron vite,Electron 开发

  摘要:本文主要介绍了新一代电子开发建设工具e-vite,并通过实例代码进行了详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。

  电子邀请函的特点是什么?安装,开发,编译,推荐项目目录?开始学习,配置配置文件,配置智能提示,基于主进程的编译项预置配置:基于预加载脚本的编译项预置:基于渲染进程的编译项预置:配置问题。如果电子有多个窗口,应该如何配置?标签

  

目录

  得益于Vite优秀的前端开发经验,越来越多的电子项目开始应用它进行构建开发。翻看各种社区资源,可以找到很多基于Vite的电子开发模板,但是有一些共性问题:

  配置相对复杂繁琐(main、preload、renderer分别配置)。要求辅助脚本配合编译开发是无法举一反三的。面对这些问题,我们需要对电子有所了解。电子是一个基于Chromium和node.js的桌面应用框架,这意味着编译和构建工具需要处理Node.js和浏览器环境的代码。这是电子开发和构建复杂的主要原因。

  知识点

  主流程和预加载脚本需要基于cjs模块化标准构建,运行在节点环境的渲染过程中,通常集成vue.js、react等现代前端框架。基于iife模块化标准构建,在浏览器中运行,在电子中启动节点集成,全程基于cjs模块化标准编写代码即可,虽然不需要编译。但不利于现代前端框架的使用,还会面临严重的性能和安全问题。它不是基于esm标准编译和构建的。虽然node本身支持,但Electron不支持,这也是Electron后续版本的作品。

  

前言

  电子vite是一个集成了Vite的电子构建工具。开发者不需要过多关注配置,无论选择哪种前端框架,都可以轻松完成搭建,从而提高了电子的开发建设效率。

  

electron-vite 是什么

  和Vite一样,主进程/渲染进程/预加载脚本都是用Vite来构建和统一所有的配置,合并成一个文件来预置构建配置,不关注配置。支持渲染进程(HMR)的热更新

  

特性

  电子邀请D

  

安装

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

  {

  脚本:{

  start :电子邀请预览,//启动电子应用程序以预览生产版本

  dev :电子邀请开发,//启动开发服务器和电子应用程序

  预构建:电子邀请构建//为生产构建

  }

  }

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

  函数createWindow() {

  //创建浏览器窗口

  const main window=new browser window({

  宽度:800,

  身高:600,

  web首选项:{

  preload: path.join(__dirname,./preload/index.js )

  }

  })

  //加载用于开发的远程URL或用于生产的本地html文件

  如果(!app . is packaged process . env[ ELECTRON _ RENDERER _ URL ]){

  main window . loadurl(process . env[ ELECTRON _ RENDERER _ URL ])

  }否则{

  main window . loadfile(path . join(_ _ dirname,./renderer/index.html ))

  }

  }

  注意:在开发中,脚本需要被脚本类型=模块引用,以呈现流程index.html文件。

  

开发编译

  src

  main

   index.js

   .

  preload

   index.js

   .

  renderer

  src

  index.html

   .

  electron.vite.config.js

  package.json

  

推荐项目目录

  克隆电子-vite-锅炉板(https://github.com/alex8088/electron-vite-boilerplate)项目学习构建项目学习NPM init @ quick-start/electronic通过创建电子支架

  

开始学习

  

配置

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

  //electron.vite.config.js

  导出默认值{

  主要:{

  //vite配置选项

  },

  预载:{

  //vite配置选项

  },

  渲染器:{

  //vite配置选项

  }

  }

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

  electron-vite-config my-config . js

  提示:electronic-Vite还支持ts或mjs配置文件。

  

配置文件

  因为electronic-vite本身自带Typescript类型,所以通过IDE和jsdoc的配合可以实现智能提示:

  /**

  * @type {import(electron-vite )。用户配置}

  */

  常量配置={

  //.

  }

  导出默认配置

  您还可以使用define config和define eviteconfig工具函数,这样您就可以在没有jsdoc注释的情况下获得类型提示:

  从“电子邀请”导入{ defineConfig,defineViteConfig }

  导出默认定义配置({

  主要:{

  //.

  },

  预载:{

  //.

  },

  renderer:defineViteConfig(({ command,mode })={

  //条件配置使用defineViteConfig

  //.

  })

  })

  提示: defineViteConfig是从Vite导出的。

  

配置智能提示

  

预设配置

  outDir: out \ main(相对于根目录)target: node*,自动匹配电子的节点构建目标,例如电子17是node 16.13lib.entry:src \ Main { index Main }。{js ts mjs cJS}(相对于根目录),如果找不到,则为空lib.formats: cJSrollupOptions.external:电子和所有内置节点模块(如果用户配置了外部模块ID,则自动合并)

  

基于主进程的编译项预设:

  outDir: out \ preload(相对于根目录)target:同主进程lib.entry:src \ preload { index preload }。{js ts mjs cjs}(相对于根目录),否则为空010-5900。

  

基于preload脚本的编译项预设:

  lib.formats: src \ renderer(相对于根目录)rollupOptions.external: out\renderer(相对于根目录)root: chrome*,匹配自动电子的chrome构建目标。比如电子17是Chrome 98outDir:src \ renderer \ index.html(相对于根目录),找不到就空target: false,渲染过程不需要预加载polyfill模块lib.entry:与主进程polyfillModulePreload相同:如果要在现有项目中使用这些预置配置,可以使用插件Vite-plugin-Electron-config(github.com/alex8088/vi…)

  

基于渲染进程的编译项预设:

  

配置问题

  当电子应用程序有多个窗口时,意味着可能有多个html页面和预加载脚本。您可以按如下方式修改配置文件:

  导出默认值{

  主要:{},

  预载:{

  构建:{

  汇总选项:{

  输入:{

  浏览器:resolve(__dirname, src/preload/browser.ts ),

  webview: resolve(__dirname, src/preload/webview.ts )

  }

  }

  }

  },

  渲染器:{

  构建:{

  汇总选项:{

  输入:{

  浏览器:resolve(__dirname, src/renderer/browser.html ),

  webview: resolve(__dirname, src/renderer/webview.html )

  }

  }

  }

  }

  }

  

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

  该项目现已开放源代码,欢迎您参与为公共关系做出贡献或对问题提供反馈,以支持star。

  https://github.com/alex8088/electron-vite

  这就是这篇关于新一代电子邀请开发和构建工具的文章。要了解更多关于e-Vite构建工具的信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: