提示:Application entry file "main.js" does not exist

解决:

package.json中的build模块,添加files

  1. "files": [
  2. "./index.html",
  3. "./main.js",
  4. "./package.json",
  5. ],

提示:Application entry file "build/electron.js" does not exist

解决:

package.json中的build模块添加:

  1. extends: null

网络原因导致没法下载依赖包(win10)

  1. 1.electron-v2.0.18-win32-x64.zip
  2. 2.SHASUMS256.txt-2.0.18
  3. 3.winCodeSign-2.4.0
  4. 4.nsis-3.0.3.2
  5. 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: 这一步还需要优化

打包无法找到别名

  1. .\src\router\index.js
  2. Cannot find module: '@views/Login/'. Make sure this package is installed.

解决:

  1. // package.json
  2. "build": "react-scripts build",
  3. // 更新为
  4. "build": "react-app-rewired build",

npm install时,node install卡住

解决:

node install.js

  1. vi ~/.npmrc
  2. 添加:
  3. electron_mirror="https://npm.taobao.org/mirrors/electron/"
  4. 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

解决:

  1. // cnpm下载electron
  2. rm -rf node_modules/electron // 删除electron包 不然运行会提示包不对
  3. // 再用cnpm下载electron
  4. npm install -g cnpm --registry=https://registry.npm.taobao.org
  5. cnpm i // 下载electron正确包

构建后 打开 dist/index.html空白

解决:

BrowserRouter => HashRouter

运行提示× TypeError: window.require is not a function

解决:

  1. BrowserWindow中添加
  1. webPreferences: {
  2. nodeIntegration: true,
  3. preload: __dirname + '/preload.js'
  4. },
  1. 添加preload.js
  1. window.ipcRenderer = require('electron').ipcRenderer;
  1. react组件引入ipcRenderer
  1. import { IpcRenderer } from 'electron';
  2. declare global {
  3. interface Window {
  4. ipcRenderer: IpcRenderer
  5. }
  6. }
  7. const { ipcRenderer } = window;
  8. console.log(ipcRenderer)

Electron构建、打包总结的更多相关文章

  1. 使用 AngularJS 和 Electron 构建桌面应用

    GitHub 的 Electron 框架(以前叫做 Atom Shell)允许你使用 HTML, CSS 和 JavaScript 编写跨平台的桌面应用.它是io.js 运行时的衍生,专注于桌面应用而 ...

  2. AngularJS 和 Electron 构建桌面应用

    译]使用 AngularJS 和 Electron 构建桌面应用 原文: Creating Desktop Applications With AngularJS and GitHub Electro ...

  3. Gitlab自动触发Jenkins构建打包

    一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...

  4. 设置 Nuget 本地源、在线私有源、自动构建打包

    设置 Nuget 本地源.在线私有源.自动构建打包 本文演示如果在项目中生成 Nuget 包,并添加 Nuget 本地源,不用发布到 Nuget 服务器.再附带使用在线私有源的简单方法,以及提交代码自 ...

  5. 使用 Electron 构建桌面应用(拖动控制篇)

    使用 Electron 构建桌面应用(拖动控制篇) 当窗口被定义了大小,我们也就是在自定义这个窗口,使得它不可拉伸没有框架,让它看起来就像一个真正的声效器浮在桌面上. 现在问题来了 – 要如何移动或者 ...

  6. electron --- 构建桌面应用

    最近无意间看到了electron和nw的相关信息,感到很惊讶,因为学习前端也有一段时间了,竟然发现js还有这么强大的功能,因为js不仅可以写网页.写webapp.写hybrid,以及前不久出现的小程序 ...

  7. Jenkins持续构建打包后端服务流程详解

    背景运用场景及思路 1.为响应后端开发人员需求,提升项目开发过程效率,选择Jenkins持续构建,进行导包启动一键持续集成 思路: 使用jenkins自带,立即构建->SVN拉取代码,通过Jen ...

  8. Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    一.环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴.具体只讲述Jenkins配置以及整个流程的实现. 1.JDK(或JRE)及Java环境变量配置,我用的是JDK1.8.0_1 ...

  9. electron builder 打包错误 cannot unpack electron zip file 解决方案

    npm run buildwin > study01@1.0.0 buildwin F:\Nodejs\electron\Test\study01> electron-builder -- ...

随机推荐

  1. if与switch(break穿透)

    ## if与switch(分支语句) ### 一.if...else if...else1.语法 if(条件表达式1){ 语句体1; }else if(条件表达式2){ 语句体2; }else{ 语句 ...

  2. GoLand 2020.1.3破解教程

    此教程适用于GoLand 2020.1.3其他版本理论上是一样的. GoLand建议从官网下载---->>>>>>下载 1 如果之前有激活留下的补丁文件,建议卸载删 ...

  3. Linux上运行安卓应用:安装使用Anbox

    文章目录 #0x0 简介 #0x1 安装教程 #0x11 第一步,安装需要的内核模块 #0x12 安装Anbox #0x2 使用Anbox #0x21 一些简单的设置 #0x22 安装APK #0x3 ...

  4. Jmeter系列(43)- 详解 Jmeter 图形化 HTML 压测报告之 Charts 模块

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Charts 介绍 包含了各种详细信息 ...

  5. JVM 学习笔记(五)

    前言: 前面的文件介绍了JVM的内存模型以及各个区域存放了那些内容,本编文章将介绍JVM中的垃圾回收Garbage Collector,和大家一起探讨一下. 如何确定一个对象是垃圾: 这里介绍两种方法 ...

  6. 输入Javac提示不是内部或外部命令怎么办

    首先,我们在电脑上面找到此电脑, 然后右键点击,选择属性.   在属性中,我们找到高级系统设置,点击打开,如图示.   然后在系统设置中,我们可以找到启动和鼓掌恢复,然后点击环境变量,点击打开.   ...

  7. 数据可视化之 图表篇(三)体验Power BI最新发布的AI图表:分解树

    在刚刚发布的11月更新中,PowerBI界面全新改版,采用和Office套件相似的Ribbon风格,除了这个重大变化,还发布了一个AI黑科技图表:分解树(Decomposition Tree). 无论 ...

  8. 用matplotlib绘制图片示例(新)

    test /*! * * Twitter Bootstrap * */ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 201 ...

  9. ffmpeg常见用法总结

    1. 视频/音频剪切: ffmpeg -i input_file [-ss 00:00:10] [-t 00:00:20] output_file 去掉-ss指令表示从头开始 去掉-t指令表示剪切到结 ...

  10. Vue中token的实现

    在学习vue的过程中,正好项目中做的web系统对安全性有要求 转载自https://www.jianshu.com/p/d1a3fb71eb99 总:通过axios,vuex,及自定义的方法实现.以下 ...