2、electron13 + vue3 + vite2

时间:2021-09-07
本文章向大家介绍2、electron13 + vue3 + vite2,主要包括2、electron13 + vue3 + vite2使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

基于electron13 + vue3 +vite2 搭建所碰到的问题 由于vite的运行、打包、热更新,与webpack数倍差距,

所以打算使用vite进行一个环境的搭建 vite

1、vue3的搭建

npm init @vitejs/app project-name
cd project-name
npm install 
npm run dev

浏览器里可以看到页面。vite+vue就搭建好了

2、electron安装

安装electron
这里使用镜像
根目录添加一个 .npmrc文件
加上electron_mirror=http://cdn.npm.taobao.org/dist/electron/
npm install electron --save-dev
npm install electron-builder --save-dev  electron 打包

3、package.json

"name": "electron",
  "version": "0.0.1",
  "main": "main.js",
  "license": "MIT",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "serve": "vite preview",
    "start": "electron ."
    "dist": "electron-builder"
  }

electron 主文件main.js

'use strict';
var path = require('path');
/**
 * electron 主文件
 */
const  { app, BrowserWindow ,session  }  = require('electron');
 let win;
 function createWin() {
   // 创建浏览器窗口
   win = new BrowserWindow({
     width:1920,
     height:1080,
     useContentSize:true, 
     webPreferences: {
      nodeIntegrationInWorker :true,
       nodeIntegration: true,
       contextIsolation: false,
     },
   });

   const URL = app.isPackaged
   ? path.join(__dirname, '../render/index.html') // vite 构建后的静态文件地址
   : `http://localhost:${process.env.PORT}`; // vite 启动的服务器地址
  app.isPackaged ? win?.loadFile(URL) : win?.loadURL(URL);
 }
 app.whenReady().then(() => {
  app.on('activate',  ()=>{
    // On macOS it's common to re-create a window in the app when the
    // dock icon is clicked and there are no other windows open.
    if (BrowserWindow.getAllWindows().length === 0) createWin();
  });
});

// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed',  ()=>{
  if (process.platform !== 'darwin') app.quit();
});

/
*此处为安装vue-devtools 扩展,vue3的vue-devtools需要使用vue-devtools beta版本
 官方文档 http://www.electronjs.org/docs/tutorial/devtools-extension
 安装之后若提示警告,可更改vue-devtools项目中的manifest.json,删除掉与报错内容有关的内容即可
*/
app.on('ready',async ()=>{
  if(!app.isPackaged){
    //install vue devtool
    try {
      const devpath = 'D:/vue-devtools/vue3-devtools';
      await session.defaultSession.loadExtension(devpath);
    } catch (e) {
      console.error('Vue Devtools failed to install:', e);
    }
  }
  createWin();
});

另起终端,运行electron , 一个简单的electron环境就搭建好了

PS:Electron 作为前端标配的桌面开发工具,@vue-cli可以使用electron-vue,但是使用的是vue2
但是 Vite 这块并没提供,毕竟vite定位是和 webpack 那样的通用构建工具,连vue都没集成

这里推荐一个大佬写的vite插件
electron-vue-vite

呀勒呀勒

原文地址:https://www.cnblogs.com/xxqqrr/p/15237238.html