日常问题记录贴
1. 解决 Failed to connect to github.com port 443:connection timed out
问题描述:开启了 clash for Windows后,想clone github 上的项目报错
解决:
1. 关闭梯子
2. 取消全局代理
1 | 取消全局代理: |
2. 提交代码时 Git 无法识别文件名大小写
1 | git config core.ignorecase false |
3. 在完成复制功能时,在开发环境正常,生产环境失效
问题描述:
navigator.clipboard.writeText() 使用API进行复制功能时在开发环境正常使用,生产环境报错 Cannot read properties of undefined (reading 'writeText')
原因:
首先,Chrome 浏览器规定,只有 HTTPS 协议的页面才能使用这个 API。不过,开发环境(localhost)允许使用非加密协议。
其次,调用时需要明确获得用户的许可。权限的具体实现使用了 Permissions API,跟剪贴板相关的有两个权限:clipboard-write(写权限)和clipboard-read(读权限)。”写权限”自动授予脚本,而”读权限”必须用户明确同意给予。也就是说,写入剪贴板,脚本可以自动完成,但是读取剪贴板时,浏览器会弹出一个对话框,询问用户是否同意读取。
参考链接: 剪贴板操作 Clipboard API 教程
4. 当打包的前端项目使用静态网站部署到 1Panel 上,刷新页面会出现 404 错误
这是 Nginx 配置的问题,而不是打包配置的问题。当您使用 UmiJS 构建的单页应用 (SPA) 部署到 Nginx 服务器上时,页面刷新出现空白是因为 Nginx 默认会尝试查找服务器上与 URL 路径匹配的文件,而不是将所有请求路由到 index.html
解决方案
您需要在 Nginx 配置中添加以下设置,将所有请求重定向到 index.html
1 | server { |
配置说明
try_files $uri $uri/ /index.html这行是关键,它告诉 Nginx:- 首先尝试匹配请求的 URI
- 然后尝试匹配请求的 URI 作为目录
- 如果都不匹配,则返回
index.html
- 这样配置后,当用户刷新页面时,即使 URL 是
/customer/list这样的路径,Nginx 也会返回index.html,然后由前端路由接管处理。
验证配置
修改 Nginx 配置后,记得重新加载或重启 Nginx:
1 | sudo nginx -t # 验证配置是否正确 |
这样配置后,您的应用在刷新页面时应该能够正常工作了。
- 标题: 日常问题记录贴
- 作者: 菇太帷i
- 创建于 : 2024-04-28 08:45:00
- 更新于 : 2025-09-18 06:39:53
- 链接: https://blog.gutawei.com/2024/04/28/日常问题记录贴/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论