Giter Site home page Giter Site logo

electron-react's Introduction

electron-react

electron + react + react-router + mobx + webpack 搭建的脚手架工程 【配功能实例DEMO】

让开发electron项目更简单。

项目路径与命名

main  //主进程
    menu  //菜单
render  //渲染进程
    component  //组件
    config  //配置
    public  //静态资源
    routes  //路由
    service  //服务
    utils  //工具类
    view  //页面
scripts  //打包脚本
main_process  //主进程打包目录
render_process   //渲染进程打包目录
dist    //客户端打包目录
resources  //图标资源

使用

本地调试

npm install
npm start

本地测试打包

npm run compile

打包客户端

npm run pack-win
npm run pack-mac

解决了什么问题

1.electron+react框架搭建

主进程代码使用babel编译,渲染进程使用webpack打包,快速开始开发。

2.调试

集成环境选择模块,简单分离开发,测试,线上环境。

3.程序保护

开机自启

托盘最小化

崩溃监控

4.升级

一行代码接入升级平台,实现客户端升级功能

5.打包构建

一个指令搞定打包

npm run pack-win
npm run pack-mac

6.其他特性

  • 立即可用的 React 插件 react-router,antd
  • electron-build轻松构建
  • webpack各种loader配置
  • 默认支持 stage-0 的 ES6

7.上手可用的DEMO

窗口、通信、菜单、系统、弹框、打印、shell

electron-react's People

Contributors

conardli avatar

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

electron-react's Issues

希望升级下版本

希望升级一下electron版本和webpack版本
最好都能够升级到最新版

capture.png看不清

多谢你提供这么好的例子,请问方便提供高清一点的capture.png吗

“npm run pack-win” 打包未成功

【暂无影响】
asar using is disabled — it is strongly not recommended solution
据说要保留asar压缩打包体积的模式,在package.json的build配置项下,将asar,设置为true后没此提示

【Error】接下来出现了红字报错信息

大致意思可能是设置不了ICON
packaging platform=win32 arch=ia32 electron=2.0.4 appOutDir=dist\win-ia32-unpacked
Error: Exit code: 1. Command failed: C:\Users\hiu\AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.4.0\rcedit-ia32.exe D:\mydev\electron-react\dist\win-ia32-unpacked\electron-react.exe --set-version-string FileDescription electron-react --set-version-string ProductName electron-react --set-version-string LegalCopyright Copyright © 2019 shiqi.li --set-file-version 1.1.7 --set-product-version 1.1.7.0 --set-version-string InternalName electron-react --set-version-string OriginalFilename --set-version-string CompanyName shiqi.li --set-icon D:\mydev\electron-react\icon.ico
Reserved header is not 0 or image type is not icon for 'D'
Fatal error: Unable to set icon

Error: Exit code: 1. Command failed: C:\Users\hiu\AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.4.0\rcedit-ia32.exe D:\mydev\electron-react\dist\win-ia32-unpacked\electron-react.exe --set-version-string FileDescription electron-react --set-version-string ProductName electron-react --set-version-string LegalCopyright Copyright © 2019 shiqi.li --set-file-version
1.1.7 --set-product-version 1.1.7.0 --set-version-string InternalName electron-react --set-version-string OriginalFilename  --set-version-string CompanyName shiqi.li --set-icon D:\mydev\electron-react\icon.ico
Reserved header is not 0 or image type is not icon for 'D'
Fatal error: Unable to set icon

Reserved header is not 0 or image type is not icon for 'D'
Fatal error: Unable to set icon

    at D:\mydev\electron-react\node_modules\builder-util\src\util.ts:126:16
    at ChildProcess.exithandler (child_process.js:301:5)
    at ChildProcess.emit (events.js:189:13)
    at maybeClose (internal/child_process.js:970:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
From previous event:
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
From previous event:
    at WinPackager.signAndEditResources (D:\mydev\electron-react\node_modules\app-builder-lib\src\winPackager.ts:260:158)
    at _bluebirdLst.default.map.file (D:\mydev\electron-react\node_modules\app-builder-lib\src\winPackager.ts:363:21)
    at go$readdir$cb (D:\mydev\electron-react\node_modules\graceful-fs\graceful-fs.js:162:14)
    at FSReqWrap.oncomplete (fs.js:141:20)
From previous event:
    at D:\mydev\electron-react\node_modules\app-builder-lib\src\winPackager.ts:361:27
    at Generator.next (<anonymous>)
From previous event:
    at WinPackager.signApp (D:\mydev\electron-react\node_modules\app-builder-lib\src\winPackager.ts:355:73)
    at D:\mydev\electron-react\node_modules\app-builder-lib\src\platformPackager.ts:250:16
    at Generator.next (<anonymous>)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
From previous event:
    at WinPackager.doPack (D:\mydev\electron-react\node_modules\app-builder-lib\src\platformPackager.ts:167:165)
    at D:\mydev\electron-react\node_modules\app-builder-lib\src\platformPackager.ts:113:16
    at Generator.next (<anonymous>)
From previous event:
    at WinPackager.pack (D:\mydev\electron-react\node_modules\app-builder-lib\src\platformPackager.ts:111:95)
    at D:\mydev\electron-react\node_modules\app-builder-lib\src\packager.ts:430:24
    at Generator.next (<anonymous>)
    at xfs.stat (D:\mydev\electron-react\node_modules\fs-extra-p\node_modules\fs-extra\lib\mkdirs\mkdirs.js:56:16)
    at D:\mydev\electron-react\node_modules\graceful-fs\polyfills.js:285:20
    at FSReqWrap.oncomplete (fs.js:155:5)
From previous event:
    at Packager.doBuild (D:\mydev\electron-react\node_modules\app-builder-lib\src\packager.ts:396:24)
    at D:\mydev\electron-react\node_modules\app-builder-lib\src\packager.ts:366:57
    at Generator.next (<anonymous>)
    at D:\mydev\electron-react\node_modules\graceful-fs\graceful-fs.js:111:16
    at D:\mydev\electron-react\node_modules\graceful-fs\graceful-fs.js:45:10
    at FSReqWrap.oncomplete (fs.js:141:20)
From previous event:
    at Packager._build (D:\mydev\electron-react\node_modules\app-builder-lib\src\packager.ts:335:133)
    at D:\mydev\electron-react\node_modules\app-builder-lib\src\packager.ts:331:23
    at Generator.next (<anonymous>)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
From previous event:
    at Packager.build (D:\mydev\electron-react\node_modules\app-builder-lib\src\packager.ts:288:14)
    at build (D:\mydev\electron-react\node_modules\app-builder-lib\src\index.ts:59:28)
    at build (D:\mydev\electron-react\node_modules\electron-builder\src\builder.ts:228:10)
    at then (D:\mydev\electron-react\node_modules\electron-builder\src\cli\cli.ts:49:19)

关于Electron升级到4.0+的问题

electron 升级到相对新的4.0.3后,无法启动项目

开始遇到 app.makeSingleInstance(cb)' is deprecated ,not a function的报错,
查询是方法经过变动,替换为app.requestSingleInstanceLock()后通过,

然后依据提示将component-class/index.js下的
var index = require('indexof');换为
var index = require('component-indexof');

此时CLI显示 webpack: Compiled successfully.,但仍然没有程序窗口弹出

大佬可以帮忙看看吗

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.