在网站搭建初期给z-index 分层规范

一般来说前端架构师在网站搭建初期就要给 z index 分层: * 0+ 用于普通内容 * 16+ 用于导航 * 32+ 用于导航菜单 * 64+ 用于 tooltip * 128+ 用于 popover * 256+ 用于对话框 * 1024+ 用于 loading 类似这样
阅读更多

Chrome 中 post 请求体过大导请求体和响应体无法正常展示

背景 Chrome 版本: 版本 95.0.4638.54(正式版本) (arm64) 机型如下: * macOS Big Sur * MacBook Pro (13-inch, M1, 2020) * 芯片 Apple M1 * 内存 16GB 一次开发中,一个 post 请求的请求体含有多个 base64 数据,在 Chrome 中请求后遇到如下问题: * http 响应 500 (服务端错误,忽略) * 请求体消失了 * 响应体无法显示 在服务端 500 问题修复之后,起初以为请求体和响应体不显示的问题会导致请求体丢失导致无法正常响应,可是发现只是 Chrome
阅读更多

Vite 无法通过 import xxx from 'path/xxx.umd.js' 的方式正常引入 UMD 模块使用

背景 首先打包出一个 umd 模块的 js 库,这里用 add.umd.js 来表示这个库吧。 然后测试发现: * 在 create-react-app 的项目中通过 import add from 'path/add.umd.js' 方式可以正常引入并使用 * 在 Vite 的项目中(个人测试是通过 yarn create vite 选择 react-ts 模板生成) import add from 'path/add.umd.js' 无法正常导入并使用。然而通过 import 'path/add.umd.js' 却可以正常导入,使用姿势大致如下所示:
阅读更多

Nginx 正则配置实现带版本号请求页面

需求背景 访问 https://www.xxx.com/1.0.0/ 响应 1.0.0 版本的页面。 访问 https://www.xxx.com/1.0.1/ 响应 1.0.1 版本的页面。 访问 https://www.xxx.com/1.0.2/ 响应 1.0.2 版本的页面。 以此类推… History 模式路由 在部署 History 模式路由的页面的时候,我们需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。 因为这么做以后,你的服务器就
阅读更多

Mock.js 拦截了二进制流数据的请求.md

背景 在一次开发中,客户提出我们提供的 SDK 无法正常使用,但是我们提供的 demo 可以正常使用。后经对比排查发现,客户的项目中引入了 Mock.js 而导致的 SDK 中对二进制资源的请求被拦截并进行了处理,导致请求的资源发生错误。 产生的原因 后通过在 Mock.js 的 repo issues 里也有搜索到 相关 issue。 原因在于引入 Mock.js 发出请求后,服务器端返回的文件为二进制流,原生请求会正常的将其作为 blob 对象返回,而 Mock.js 则会将其转为字符串,Mock.js 完全重写了原生的 XMLHttpRequest。 如何解决 可以参考该 comm
阅读更多

base64 及 base64 url-safe

背景 在一次开发中,服务端需要接受某个参数为 base64 编码的值,测试所得服务端所得的编码值无法与前端所传的值匹配不上,即所传的参数不是服务端所需的正确的编码值。后联调得知,服务端需要接收的是 base64 url-safe 的值,所以前端需要也对数据进行 base64 编码为 url-safe 的值。 遇到问题的相关 issue: https://github.com/brix/crypto-js/issues/252 问题复现 1 2 3 4 5 // 有效的 base64 字符如下: // ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop
阅读更多

Go语言中占位符的使用

原文地址: https://studygolang.com/articles/21039 定义示例类型和变量 1 2 3 4 type Human struct { Name string } var people = Human{Name:"zhangsan"} 1. 普通占位符 占位符说明举例输出%v相应值的默认格式。Printf(“%v”, people){zhangsan}%+v打印结构体时,会添加字段名Printf(“%+v”, people){Name:zhangsan}%#v相应值的Go语法表示Printf(“#v”, people)main.Human{Name:”
阅读更多