4.0.0-beta67 • Published 10 months ago

umi-plugin-electron-pro v4.0.0-beta67

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

umi-plugin-electron-pro

基于umi4和electron-pro框架

安装

$ yarn add umi-plugin-electron-builder -dev

umi4需要手动启用插件

import { defineConfig } from "umi";

export default defineConfig({
  npmClient: "yarn",
  plugins: ["umi-plugin-electron-pro"],
});

配置完成之后,执行

$ yarn postinstall

执行以下指令,生成主进程文件 src/main/index.ts

$ yarn electron:init

自动在 package.json 增加以下配置,使用@umijs/max时,请将以下命令中的umi修改为max

{
  scripts: {
    "rebuild-deps": "electron-builder install-app-deps",
    "electron:init": "umi electron init",
    "electron:dev": "umi dev electron",
    "electron:dir": "max build electron --dir",
    "electron:build:win": "umi build electron --win",
    "electron:build:mac": "umi build electron --mac",
    "electron:build:linux": "umi build electron --linux",
  },
  //这里需要修改成你自己的应用名称
  name: "electron_pro_app",
  version: "0.0.1",
}

开发

$ yarn electron:dev

打包

打包路径不能有中文,electron-builder不能跨平台打包,请在对应系统上打包

//windows
$ umi build electron --win
//mac
$ umi build electron --mac
//linux
$ umi build electron --linux
//按平台打包
$ umi build electron --win --ia32    //32位
$ umi build electron --win --x64     //64位
$ umi build electron --win --armv7l  //arm32位
$ umi build electron --win --arm64   //arm64位

使用 node 环境下运行的模块

例:使用 serialport 插件

$ pnpm i serialport @types/serialport

配置 .umirc.ts

import { defineConfig } from 'umi';

export default defineConfig({
  electronBuilder: {
    mainSrc: 'src/main', //默认主进程目录
    routerMode: 'hash', //路由 hash或memory,仅electron下有效,推荐使用hash
    outputDir: 'dist_electron', //默认打包目录
    externals: ['serialport'], //node原生模块配置,打包之后找不到包也需要配置在这里
    rendererTarget: 'web', //构建目标electron-renderer或web,使用上下文隔离时,必须设置为web
    debugPort: 5858, //主进程调试端口
    //2.1.10新增 开启自定义主进程日志时
    logProcess(log: string, type: "normal" | "error") {
      if (type === 'normal') {
        console.log(log);
      } else if (type === 'error') {
        console.error(log);
      }
    },
    builderOptions: {
      //配置参考 https://www.electron.build/configuration/configuration
      appId: 'com.test.test',
      productName: '测试',
      publish: [
        {
          provider: 'generic',
          url: 'http://localhost/test',
        },
      ],
    }, //electronBuilder参数
  },
  routes: [{ path: '/', component: '@/pages/index' }],
});

在 Electron10 以上使用contextIsolation时 rendererTarget 需要设置成 web

builderOptions参考 Electron Builder

4.0.0-beta67

10 months ago

4.0.0-beta66

10 months ago

4.0.0-beta65

10 months ago

4.0.0-beta63

10 months ago

4.0.0-beta62

10 months ago

4.0.0-beta61

10 months ago

4.0.0-beta60

10 months ago

4.0.0-beta59

10 months ago

4.0.0-beta58

10 months ago

4.0.0-beta57

10 months ago

4.0.0-beta56

10 months ago

4.0.0-beta55

10 months ago

4.0.0-beta53

10 months ago

4.0.0-beta52

10 months ago

4.0.0-beta51

10 months ago

4.0.0-beta48

10 months ago

4.0.0-beta47

10 months ago

4.0.0-beta46

10 months ago

4.0.0-beta45

10 months ago

4.0.0-beta43

10 months ago

4.0.0-beta41

10 months ago

4.0.0-beta39

10 months ago

4.0.0-beta38

10 months ago

4.0.0-beta37

10 months ago

4.0.0-beta36

10 months ago

4.0.0-beta35

10 months ago

4.0.0-beta34

10 months ago

4.0.0-beta33

10 months ago

4.0.0-beta32

10 months ago

4.0.0-beta31

10 months ago

4.0.0-beta30

10 months ago

4.0.0-beta29

10 months ago

4.0.0-beta28

10 months ago

4.0.0-beta27

10 months ago

4.0.0-beta26

10 months ago

4.0.0-beta25

10 months ago

4.0.0-beta24

10 months ago

4.0.0-beta23

10 months ago

4.0.0-beta22

10 months ago

4.0.0-beta21

10 months ago

4.0.0-beta20

10 months ago

4.0.0-beta19

10 months ago

4.0.0-beta18

10 months ago

4.0.0-beta17

10 months ago

4.0.0-beta16

10 months ago

4.0.0-beta15

10 months ago

4.0.0-beta14

10 months ago

4.0.0-beta13

10 months ago

4.0.0-beta12

10 months ago

4.0.0-beta11

10 months ago

4.0.0-beta10

10 months ago

4.0.0-beta9

10 months ago

4.0.0-beta8

10 months ago

4.0.0-beta7

10 months ago

4.0.0-beta6

10 months ago

4.0.0-beta5

10 months ago

4.0.0-beta4

10 months ago

4.0.0-beta3

10 months ago

4.0.0-beta2

10 months ago

4.0.0-beta1

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago