Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource
Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource
背景
使用electron-vue的时候,窗体创建后加载页面使用的是loadURL函数,并且传入的参数形如:
`file://${__dirname}/index.html`
PS:在electron-vue中,编译打包后的__dirname是asar所在绝对地址/dist/electron/。
编译打包后的Electron程序启动时候,发现在调用loadURL的时候会出现:ERR_FAILED(-2) 。
遂临时启动DevTool窗口查看控制台输出,发现类似如下错误:
Not allowed to load local resource: file://XXXXXX/app.asar/dir1/dir2/index.html
原因及方案
1、文件并不存在于你的asar包中
处理方式:
- 全局安装
npm install -g asar - 通过asar解压app.asar包,检查上述提到的file路径中是否存在你的index.html。
2、尝试禁用窗体参数中的webSercurity
处理方式:
{
webPreferences: {
webSecurity: false
}
}
3、检查webpack配置中的__dirname,防止webpack处理'mock'
这一点主要是当上述Not alloed to load local resource提到的路径明显不正确时候,可以检查。
// webpack配置文件中的node节点,当打包的时候需要防止webpack处理
node: {
__dirname: false
}
webpack配置文件中的node节点,当打包的时候需要防止webpack处理__dirname,如果你使用了electron-vue脚手架应该不需要关心,因为你会看到如下的内容,已经帮你处理了:
node: {
__dirname: process.env.NODE_ENV !== 'production',
__filename: process.env.NODE_ENV !== 'production'
},
4、使用loadFile而不是loadURL
使用loadFile接口来加载本地的路径,loadFile('path/to/index.html'),这个路径是以app.asar根路径为base的。例如,loadFile('dir_path1/dir_path2/index.html'),那么你的index.html在app.asar是如下的结构:
app.asar
|-dir_path1
|-dir_path2
|-index.html
5、确定file协议斜杆正确
本人在编写代码的时候,由于马虎,loadURL的参数想要加载本地的页面,file:/XXX少写了一个斜杠,应该是file://,导致加载问题。
Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource的更多相关文章
- Linux下运行java报错:Error: Could not find or load main class SocketIOPropertites
[root@node01 testfileio]# javac SocketIOPropertites.java && java Soc ketIOPropertitesError: ...
- Linux下Oracle11G RAC报错:在安装oracle软件时报file not found一例
Linux下Oracle11G RAC报错:在安装oracle软件时报file notfound一例 1.现象 之前安装一切都比較顺利,安装oracle软件时,进度到30%时报错:file not f ...
- linux 下 tomcat 运行报错 Broken pipe
linux 下 tomcat 运行报错 Broken pipe 感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e71 ...
- linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql.
linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql. 2013-03-04 1 ...
- linux下mysql安装报错及修改密码登录等等
1:下载 [root@localhost soft]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc ...
- Linux下安装redis报错信息
redis在Linux安装报错 标签: redislinuxcentos 2017-02-24 13:46 384人阅读 评论(0) 收藏 举报 分类: Linux安装工具(2) 版权声明:本文为 ...
- Jenkins - Linux下启动Jenkins报错hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up
报错截图 在Linux下直接运行jenkins.war报错,导致启动失败 报错原因 运行端口已被其他进程占用 解决方法 换个启动端口就可以啦!
- linux下svn客户端报错Cannot negotiate authentication mechanism的解决方法
svn客户端报错Cannot negotiate authentication mechanism的解决方法: 问题出现的原因之一: 因为SVN服务器配置了saslauthd服务用来实现与ldap的对 ...
- Python在Linux下编译安装报错:Makefile:1141:install
正常情况下执行:./configuremake && make install可以直接安装python,但是在在更新了乌版图后居然报错了!!!检查了一圈,发现乌版图安装了python3 ...
随机推荐
- Difference between trustStore and keyStore in Java - SSL
Difference between trustStore and keyStore in Java - SSL trustStore vs keyStore in Java trustStore ...
- android Handler消息通信
1 package com.example.testhandler; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 impo ...
- kafka零数据丢失的配置方案
讨论一下kafka参数的配置 1.acks 参数配置 acks这个参数有三个值:0,1,-1,但是不用的参数对应的含义不同,那如果我们想要保证数据不丢失,acks 值应该设置为哪个参数呢? 0:代表生 ...
- Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目
前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...
- 基于CentOS7.x Linux操作系统,从0开始构建一套Docker虚拟化平台,使用二进制Tar包方式,部署的步骤和方法如下:
#配置centos7的yum源#建议阿里源#链接:https://yq.aliyun.com/articles/525282?type=2#从Docker官网下载软件包: ls -l docker-1 ...
- android activity pass data to accessibilityservice 数据传递
不同类型的 service 传递数据的方式不同,accessibilityservice 运行在独立进程,且被系统接管,比较特别 在 AccessibilityService 的 onCreate 内 ...
- java agent简介
java agent简介 主要就是两种,一种的方法是premain,一种是agentmain.这两种的区别是: premain是在jvm启动的时候类加载到虚拟机之前执行的 agentmain是可以在j ...
- JDK1.8源码(八)——java.util.HashMap类
https://www.cnblogs.com/javastack/p/12801870.html https://www.cnblogs.com/chanshuyi/p/java_collectio ...
- 痞子衡嵌入式:MCUXpresso IDE下将应用程序RW段分散链接的几种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下将应用程序RW段分散链接的几种方法. 早期的 MCU 芯片,一般都会嵌入内部 Flash 和 RAM,并且 ...
- Defence
emm...这道题我调了一下午你敢信?? 好吧还是我太天真了. 开始的时候以为自己线段树动态开点与合并写错了,就调; 结果发现没问题,那就是信息维护错了. 一开始以为自己最左右的1 ...