Git Product home page Git Product logo

electron-umi-antd-pro's Introduction

electron-umi-antd-pro

基于 umijs + electron + ant-design-pro 的模板

支持

  • 支持热更新
  • 同时支持 web 打包和桌面应用打包
  • 支持桌面应用打包 mac、linux、win
  • 支持 umi-ui 自动添加组件
  • ant-design-pro@^4.x

项目结构

.
|-- build
|   |-- icon.icns                         # 打包后程序图标 MacOS
|   |-- icon.ico                          # 打包后程序图标 Windows
|   |-- webpack.base.config.js            # electron-webpack 基础配置
|   |-- webpack.main.config.js            # electron-webpack 开发配置
|   `-- webpack.main.prod.config.js       # electron-webpack 正式配置
|-- config
|   `-- config.js                         # umijs配置
|-- main
|   `-- main.js                           # 主程序入口
|-- dist                                  # 项目编译输出目录
|   |-- main                              # 主程序编译目录
|   `-- renderer                          # 页面编译目录
|-- mock                                  # 本地模拟数据
|-- public                                # 静态资源目录
|   `-- renderer.js                       # 如果需要引用node的api,需要在这个js里面提前引入
|-- release                               # 打包输出目录
|-- src                                   # 开发目录
│   |-- assets                            # 本地静态资源
│   |-- components                        # 业务通用组件
│   |-- e2e                               # 集成测试用例
│   |-- layouts                           # 通用布局
│   |-- models                            # 全局 dva model
│   |-- pages                             # 业务页面入口和常用模板
│   |-- services                          # 后台接口服务
│   |-- utils                             # 工具库
│   |-- locales                           # 国际化资源
│   |-- global.less                       # 全局样式
│   `-- global.ts                         # 全局 JS
|-- tests                                 # 测试工具
|-- package.json                          # 项目依赖以及打包配置
`-- README.md                             # 项目说明文档

环境搭建

安装

然后通过 yarn 下载依赖

  $ yarn

开发

首先通过以下命令启动渲染进程(默认端口:8000)

  $ yarn start:renderer

然后启动主进程

  $ yarn start:main

如何使用 node 的 api

需要在 /public/renderer.js 中引入相关的 api,例如 electron 依赖

打包

  $ yarn build            // 打包mwl桌面应用
  $ yarn build:renderer   // 打包web版本

打包配置说明 package.json

electron-builder-参数参考

category-Mac 分类参考

💿 下载的 electron 目录

https://npm.taobao.org/mirrors/electron

Linux: $XDG_CACHE_HOME or ~/.cache/electron/

MacOS: ~/Library/Caches/electron/

Windows: $LOCALAPPDATA/electron/Cache or ~/AppData/Local/electron/Cache/

💿 下载的 electron-builder 目录

https://github.com/electron-userland/electron-builder-binaries/releases

同上的缓存路径 {cache_path}/electron-builder/

appimage fpm linux nsis snap winCodeSign wine


🔧 npm/yarn 配置命令

# 第一次安装需要的依赖
npm install --save-dev electron-rebuild
brew install pkg-config cairo pango libpng jpeg giflib librsvg

electron-umi-antd-pro's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

electron-umi-antd-pro's Issues

MAC打包报错

楼主,我执行yarn build报错额
···

$ NODE_ENV=production webpack --config ./build/webpack.main.prod.config.js
Hash: 65172dea9612c86d3624
Version: webpack 4.44.2
Time: 8710ms
Built at: 2020-11-25 5:35:33 ├F10: PM┤
      Asset     Size  Chunks                   Chunk Names
    main.js  186 KiB       0  [emitted]        main
main.js.map  938 KiB       0  [emitted] [dev]  main
Entrypoint main = main.js main.js.map
  [2] external "path" 42 bytes {0} [built]
  [6] external "fs" 42 bytes {0} [built]
  [9] external "electron" 42 bytes {0} [built]
 [14] external "util" 42 bytes {0} [built]
 [34] external "assert" 42 bytes {0} [built]
 [44] external "events" 42 bytes {0} [built]
 [49] external "stream" 42 bytes {0} [built]
 [74] ./main/main.js 1.23 KiB {0} [built]
[112] external "buffer" 42 bytes {0} [built]
[144] external "https" 42 bytes {0} [built]
    + 135 hidden modules
  • electron-builder  version=22.8.1 os=19.4.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  file=/Users/xxx/workspace/xxxx/xxxxx/node_modules/[email protected]@electron-webpack/out/electron-builder.js
  • writing effective config  file=release/0.0.1/builder-effective-config.yaml
  ⨯ open /Users/mictest/workspace/fight/mobileManager/node_modules/umi/node_modules/@umijs/preset-built-in/node_modules/@umijs/bundler-webpack/node_modules/webpack/node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/package.json: file name too long
github.com/develar/app-builder/pkg/node-modules.(*Collector).resolveDependency
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:192
github.com/develar/app-builder/pkg/node-modules.(*Collector).processDependencies
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:95
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:56
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.(*Collector).readDependencyTree
	/Volumes/data/Documents/app-builder/pkg/node-modules/nodeModuleCollector.go:72
github.com/develar/app-builder/pkg/node-modules.ConfigureCommand.func1
	/Volumes/data/Documents/app-builder/pkg/node-modules/tree.go:41
github.com/alecthomas/kingpin.(*actionMixin).applyActions
	/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
	/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
	/Volumes/data/go/pkg/mod/github.com/alecthomas/[email protected]+incompatible/app.go:390  
  ⨯ /Users/mictest/workspace/fight/mobileManager/node_modules/[email protected]@app-builder-bin/mac/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE  stackTrace=
                                                                                                                                                                              Error: /Users/mictest/workspace/fight/mobileManager/node_modules/[email protected]@app-builder-bin/mac/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
                                                                                                                                                                                  at ChildProcess.<anonymous> (/Users/mictest/workspace/fight/mobileManager/node_modules/[email protected]@builder-util/src/util.ts:243:14)
                                                                                                                                                                                  at Object.onceWrapper (events.js:422:26)
                                                                                                                                                                                  at ChildProcess.emit (events.js:315:20)
                                                                                                                                                                                  at maybeClose (internal/child_process.js:1021:16)
                                                                                                                                                                                  at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
error Command failed with exit code 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.