4.0.1 • Published 1 year ago

umi-plugin-electron-pro v4.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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.1

1 year ago

4.0.0-beta67

2 years ago

4.0.0-beta66

2 years ago

4.0.0-beta65

2 years ago

4.0.0-beta63

2 years ago

4.0.0-beta62

2 years ago

4.0.0-beta61

2 years ago

4.0.0-beta60

2 years ago

4.0.0-beta59

2 years ago

4.0.0-beta58

2 years ago

4.0.0-beta57

2 years ago

4.0.0-beta56

2 years ago

4.0.0-beta55

2 years ago

4.0.0-beta53

2 years ago

4.0.0-beta52

2 years ago

4.0.0-beta51

2 years ago

4.0.0-beta48

2 years ago

4.0.0-beta47

2 years ago

4.0.0-beta46

2 years ago

4.0.0-beta45

2 years ago

4.0.0-beta43

2 years ago

4.0.0-beta41

2 years ago

4.0.0-beta39

2 years ago

4.0.0-beta38

2 years ago

4.0.0-beta37

2 years ago

4.0.0-beta36

2 years ago

4.0.0-beta35

2 years ago

4.0.0-beta34

2 years ago

4.0.0-beta33

2 years ago

4.0.0-beta32

2 years ago

4.0.0-beta31

2 years ago

4.0.0-beta30

2 years ago

4.0.0-beta29

2 years ago

4.0.0-beta28

2 years ago

4.0.0-beta27

2 years ago

4.0.0-beta26

2 years ago

4.0.0-beta25

2 years ago

4.0.0-beta24

2 years ago

4.0.0-beta23

2 years ago

4.0.0-beta22

2 years ago

4.0.0-beta21

2 years ago

4.0.0-beta20

2 years ago

4.0.0-beta19

2 years ago

4.0.0-beta18

2 years ago

4.0.0-beta17

2 years ago

4.0.0-beta16

2 years ago

4.0.0-beta15

2 years ago

4.0.0-beta14

2 years ago

4.0.0-beta13

2 years ago

4.0.0-beta12

2 years ago

4.0.0-beta11

2 years ago

4.0.0-beta10

2 years ago

4.0.0-beta9

2 years ago

4.0.0-beta8

2 years ago

4.0.0-beta7

2 years ago

4.0.0-beta6

2 years ago

4.0.0-beta5

2 years ago

4.0.0-beta4

2 years ago

4.0.0-beta3

2 years ago

4.0.0-beta2

2 years ago

4.0.0-beta1

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago