其他项目启动报错汇总
报错 1:electron 中,文本流点击另存为无法保存
错误分析:
- 将请求到的文本流单独进行测试并保存,无效
- 分析代码结构,文件保存部分的代码无论怎么进行 console.log,均无法输出内容
- 打开 everything,查找文件名相关文件,可搜索到
.ink
的同名文件,但无法搜索到 - 查看文件保存的 api,得出是文件保存的 api 发生了变更,所以导致无法保存
报错 2:vue 项目调试过程中,打开 chrome 控制台后显示 Paused in debugger
错误导致的问题:
- 有遮罩层,该问题可通过打开 chrome 控制台,右上角的设置-偏好设置中,将【停用已暂停的状态叠加层】选项勾选,将【启动网络请求屏蔽功能】选项取消勾选
- 不进行网络请求和点击事件失效,解决方法:打开控制台,选择【源代码】tab,将右侧的所有绿色的图标置灰(不要激活),然后取消勾选【XHR/提取断点】下的任何 XHR/提取。若还有问题,可查看该 tab 下的其他选项,看时候没有关掉/打开
报错 3:提交代码到 github 报错
信息如下:
> git pull --tags origin master
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s.
Please contact your system administrator.
Add correct host key in /c/Users/Administrator/.ssh/known_hosts to get rid of this message.
Offending RSA key in /c/Users/Administrator/.ssh/known_hosts:2
RSA host key for github.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
The authenticity of host 'github.com (140.82.114.3)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ECDSA) to the list of known hosts.
Warning: the ECDSA host key for 'github.com' differs from the key for the IP address '140.82.114.3'
2
3
4
5
错误分析:根据错误提取关键词有:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
, Add correct host key in /c/Users/Administrator/.ssh/known_hosts
, known hosts. IP address '140.82.114.3
, 通过关键词,google 搜索WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
未找到任何有效解决方案后,打开资源管理器找到/.ssh/known_hosts
文件,分析该文件后,注释或删除有关 github 的内容后,进行重新 git push,push 操作成功
参考:https://blog.csdn.net/thdsea4/article/details/74942327
报错 4:页面鼠标滑过后样式布局错乱
原因分析:由于 chrome 浏览器升级导致 overflow 属性值 overlay 和 auto 的表现一致,占据了部分空间。
解决方法:设置滚动条透明;或者使用其他框架的滚动条,比如 element-plus
参考:https://juejin.cn/post/7273875079658209319
报错 5:npm i 安装项目依赖报错 idealTree:repo_name: sill idealTree buildDeps
试错方式:1️⃣ 清空 npm modules2️⃣ 删除 npm cache3️⃣ 重启项目/电脑均无用
解决方法:有可能是代理的问题,目前是成功的,因为开过代理
# clash 默认的隧道地址为http://127.0.0.1:7890
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890
# 如果要取消代理,通过
npm config delete proxy
npm config delete https-proxy
2
3
4
5
6
7
报错 6:"vitepress" resolved to an ESM file. ESM file cannot be loaded by require
.
原因:cjs 和 mjs 文件同时存在项目中
解决方法:1️⃣ 将 js 文件改为 cjs 或者 mjs 文件 2️⃣ 在 package.json 中添加"type": "module"
,此处是使用第一种方案,将 vitepress/config.js 改为 vitepress/config.mjs
报错 7:Electron 使用 iframe 集成第三方网页 sso 登录失败
原因:最新版本的 chrome 中,由于同源策略,cookie 无法跨域访问,导致第三方登录失败
解决方法1:通过设置app.commandLine.appendSwitch("disable-features", "SameSiteByDefaultCookies, CookiesWithoutSameSiteMustBeSecure")
,解决 cookie 跨域访问问题无效
解决方法2:通过设置; Secure; SameSites=None
,解决 cookie 跨域访问问题,有效
import { session } from 'electron'
// 在主程序,app.ready之后的事件中执行
session.defaultSession.webRequest.onHeadersReceived(
// 拦截的url请求,可包含通配符
{ urls: ["https://my.trusted.url/*/*"] },
(details, callback) => {
if (
details.responseHeaders &&
details.responseHeaders["Set-Cookie"] &&
details.responseHeaders["Set-Cookie"].length
) {
// 此处一般是将set-cookie的所有值进行重写覆盖,目的就是加上/替换secure和samesite属性
details.responseHeaders["Set-Cookie"].forEach((item, index) => {
details.responseHeaders["Set-Cookie"][index] = item + "; Secure; SameSites=None";
})
}
callback({ cancel: false, responseHeaders: details.responseHeaders });
}
);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20