Electron构建、打包总结
提示:
Application entry file "main.js" does not exist
解决:
package.json中的build模块,添加files
"files": [
"./index.html",
"./main.js",
"./package.json",
],
提示:
Application entry file "build/electron.js" does not exist
解决:
package.json中的build模块添加:
extends: null
网络原因导致没法下载依赖包(win10)
1.electron-v2.0.18-win32-x64.zip
2.SHASUMS256.txt-2.0.18
3.winCodeSign-2.4.0
4.nsis-3.0.3.2
5.nsis-resources-3.3.0
不同版本所需要包不同,应该按提示手动下载
如:
https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z
然后放到指定目录
参考
打包后运行exe(win10)
提示can not find module 'electron-is-dev'
can not find module 'devtron'
解决:dependencies添加electron-is-dev
TODO: 这一步还需要优化
打包无法找到别名
.\src\router\index.js
Cannot find module: '@views/Login/'. Make sure this package is installed.
解决:
// package.json
"build": "react-scripts build",
// 更新为
"build": "react-app-rewired build",
npm install时,node install卡住
解决:
node install.js
vi ~/.npmrc
添加:
electron_mirror="https://npm.taobao.org/mirrors/electron/"
ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"
运行提示
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
更新
"react-scripts": "3.4.0",
重新install
安装依赖包时提示: UnhandledPromiseRejectionWarning: HTTPError: Response code 404 (Not Found) for http://npm.taobao.org/mirrors/electron/v8.0.1/electron-v8.0.1-darwin-x64.zip
以及npm run dev时提示 Electron failed to install correctly, please delete node_modules/electron and try installing again
解决:
// cnpm下载electron
rm -rf node_modules/electron // 删除electron包 不然运行会提示包不对
// 再用cnpm下载electron
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i // 下载electron正确包
构建后 打开 dist/index.html空白
解决:
BrowserRouter => HashRouter
运行提示
× TypeError: window.require is not a function
解决:
- BrowserWindow中添加
webPreferences: {
nodeIntegration: true,
preload: __dirname + '/preload.js'
},
- 添加preload.js
window.ipcRenderer = require('electron').ipcRenderer;
- react组件引入ipcRenderer
import { IpcRenderer } from 'electron';
declare global {
interface Window {
ipcRenderer: IpcRenderer
}
}
const { ipcRenderer } = window;
console.log(ipcRenderer)
Electron构建、打包总结的更多相关文章
- 使用 AngularJS 和 Electron 构建桌面应用
GitHub 的 Electron 框架(以前叫做 Atom Shell)允许你使用 HTML, CSS 和 JavaScript 编写跨平台的桌面应用.它是io.js 运行时的衍生,专注于桌面应用而 ...
- AngularJS 和 Electron 构建桌面应用
译]使用 AngularJS 和 Electron 构建桌面应用 原文: Creating Desktop Applications With AngularJS and GitHub Electro ...
- Gitlab自动触发Jenkins构建打包
一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...
- 设置 Nuget 本地源、在线私有源、自动构建打包
设置 Nuget 本地源.在线私有源.自动构建打包 本文演示如果在项目中生成 Nuget 包,并添加 Nuget 本地源,不用发布到 Nuget 服务器.再附带使用在线私有源的简单方法,以及提交代码自 ...
- 使用 Electron 构建桌面应用(拖动控制篇)
使用 Electron 构建桌面应用(拖动控制篇) 当窗口被定义了大小,我们也就是在自定义这个窗口,使得它不可拉伸没有框架,让它看起来就像一个真正的声效器浮在桌面上. 现在问题来了 – 要如何移动或者 ...
- electron --- 构建桌面应用
最近无意间看到了electron和nw的相关信息,感到很惊讶,因为学习前端也有一段时间了,竟然发现js还有这么强大的功能,因为js不仅可以写网页.写webapp.写hybrid,以及前不久出现的小程序 ...
- Jenkins持续构建打包后端服务流程详解
背景运用场景及思路 1.为响应后端开发人员需求,提升项目开发过程效率,选择Jenkins持续构建,进行导包启动一键持续集成 思路: 使用jenkins自带,立即构建->SVN拉取代码,通过Jen ...
- Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署
一.环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴.具体只讲述Jenkins配置以及整个流程的实现. 1.JDK(或JRE)及Java环境变量配置,我用的是JDK1.8.0_1 ...
- electron builder 打包错误 cannot unpack electron zip file 解决方案
npm run buildwin > study01@1.0.0 buildwin F:\Nodejs\electron\Test\study01> electron-builder -- ...
随机推荐
- 集训之各种dp
1.线性 「BZOJ1609」麻烦的聚餐 分别求一遍连续非下降/上升子序列长度,用总长减去,取最小值即可,主要\(O(n^2)\)优化 Code #include <cstdio> #in ...
- Unity音量可视化——粒子随声浪跳动
起初是看到这么一篇博客 Shader特效-- 音符跳动,效果如下图 具体的shader代码就不贴在这里了,他的博客里都有. 处理音频的关键代码如下: private int m_NumSamples ...
- unity 自实现协程总结
unity本人自实现了一个协程调用. 只是moveNext()的简单协程调用和封装,这个没什么好说的, 网上例子一大堆. 但使用的过程中遇到了几个问题. 1. 自己写的moveNext() 协程不能等 ...
- Django---进阶8
目录 前后端传输数据的编码格式(contentType) ajax发送json格式数据 ajax发送文件 django自带的序列化组件(drf做铺垫) ajax结合sweetalert 批量插入 分页 ...
- day81 初识drf
目录 一.web应用模式 二.API接口 1 rpc(远程过程调用/远程服务调用) 2 restful(资源状态转换) 三.RESTful API规范 四.序列化 五.Django Rest_Fram ...
- web 部署专题(八):Nginx 反向代理中cookie相关问题
问题3:认证问题 Domino服务器中,通过写了一些接口代码,提供RESTful的服务,来对手机端进行提供服务.但是由于原来的环境,没有SSO,而且不通过认证,没法访问到Domino里面的接口代码. ...
- python 装饰器(八):装饰器基础(四)types.MethodType的作用
1 types.MethodType的作用—添加实例方法 import types class cla(object): def __init__(self, name, age): self.nam ...
- bzoj1682[Usaco2005 Mar]Out of Hay 干草危机*
bzoj1682[Usaco2005 Mar]Out of Hay 干草危机 题意: 给个图,每个节点都和1联通,奶牛要从1到每个节点(可以走回头路),希望经过的最长边最短. 题解: 求最小生成树即可 ...
- DQL:查询表中的记录
DQL:查询表中的记录 * select * from 表名; 1. 语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 ...
- GPO - AppLocker
AppLocker can help you: Define rules based on file attributes that persist across app updates, such ...