自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 前端专门解决浮点数精度问题(比如 0.1+0.2≠0.3)的库

首选 decimal.js:功能最全,API友好,适配所有购物车场景(金额、折扣、税费、多商品合计);轻量选 big.js:体积最小,仅保留核心精度运算,适合小程序/移动端;无依赖选原生转整数:简单场景(如仅单价×数量)无需引入库,转分计算即可;所有金额运算避免直接用浮点数,优先用高精度库/整数运算。这些库都能完美解决 0.1+0.2 这类经典精度问题,且完全适配购物车的金额计算需求,你可根据项目体积、复杂度选择对应的方案。

2026-02-11 12:53:49 363

原创 PowerShell 执行 npm 命令弹窗(你要如何打开这个文件),CMD 却正常?

摘要:本文解析了Windows下PowerShell执行npm命令异常而CMD正常的根本原因。核心在于PowerShell优先查找无后缀文件,而系统system32目录中存在干扰文件npm,导致执行失败。文章指出CMD能正常执行说明环境变量配置正确,无需重复设置。提供两种解决方案:推荐彻底删除system32中的干扰文件,或临时使用npm.cmd显式执行。验证表明修复后PowerShell和CMD均可正常使用npm命令,解决了终端兼容性问题。

2026-02-01 15:12:39 632 1

原创 typeof null === “object“ 是一个错误

JavaScript的typeof null === "object"是一个著名的历史遗留错误,源于1995年设计时用全零机器码表示null,而全零正好对应对象类型标签。由于大量网站已依赖此行为,该错误被保留至今。正确检测null应使用=== null或Object.prototype.toString.call(null)。ES6引入Symbol类型避免了此类混淆。这个持续近30年的"bug"已成为JavaScript的特色案例,被官方标记为"wontfi

2026-01-23 19:08:01 64

原创 typeof null === “object“

摘要:JavaScript中typeof null === "object"是一个著名的历史遗留错误,源于1995年设计时的类型标签机制(null用全零表示,而000对应object标签)。由于兼容性问题,该错误被保留至今。正确检测null应使用=== null或Object.prototype.toString.call(null)。ES6新增的Symbol类型避免了此类混淆。虽然技术上是错误,但这一行为已成为JavaScript特色,被官方标记为"wontfix"

2026-01-23 19:07:15 371

原创 Umi.js 子路由菜单图标不显示的解决方法

当开发者在路由配置中为子路由设置图标(icon)属性时,第一级菜单的图标可以正常显示,但第二级及更深层级的菜单图标却无法显示。在使用 Umi.js 框架开发项目时,开发者经常遇到子路由菜单图标无法正常显示的问题。这是一个典型的前端路由配置问题,特别是在使用 Umi Max 脚手架生成的项目中尤为常见。通过以上方案,开发者可以灵活控制 Umi.js 项目中各级菜单图标的显示行为,打造更符合项目需求的导航体验。Umi.js 的菜单渲染机制默认只显示一级菜单的图标,这是出于设计考虑。

2026-01-22 18:51:48 525

原创 Markdown 功能拓展与语法支持

Markdown 语法

2026-01-22 11:10:24 574

原创 Antigravity 通用工程规则(Rules)

本文制定了统一的技术开发规范,主要包含以下内容:1)语言约定要求使用简体中文;2)默认技术栈为React+TypeScript前端和Python(FastAPI)后端;3)详细代码规范包括命名规则、注释标准等;4)前端React组件开发原则与Hook使用规范;5)后端分层架构和安全要求;6)重点安全规范,包括输入校验、权限控制和敏感数据处理;7)AI生成代码需符合规范要求。规范强调代码质量、可维护性和安全性,适用于团队协作开发。

2026-01-21 12:48:56 560

原创 Could not find the WebView2 Runtime.

摘要:安装WebView2 Runtime时出现报错"Could not find the WebView2 Runtime",提示可能已安装在其他用户账户。建议访问微软官方解答页面(https://learn.microsoft.com/zh-cn/answers/questions/2404304/webview-webviwe2-runtime)获取解决方案。该问题通常与运行时安装配置有关,需确保正确安装并可供当前账户使用。(99字)

2026-01-21 12:05:33 405

原创 在 React / styled-components 里,为什么组件名一定要首字母大写?

JSX中组件命名规则:首字母小写表示原生标签(如div、span),首字母大写表示自定义组件(包括函数组件、类组件和styled-components)。使用styled-components时必须大写命名,否则React会将其识别为原生标签而报错。如错误提示所示,小写命名的styled组件会被视为不存在的原生元素(如"styleLayoutBox"),导致类型错误TS2339。正确写法应保持组件名首字母大写。

2026-01-16 17:38:09 25

原创 v3.umi 为什么我在 response 拦截器里调用 response.json(),会报 ‘Response body is already used’ 以及 clone 失败?

摘要: 处理HTTP响应拦截器时,直接调用response.json()会导致"Response body is already used"错误,因为响应体是只能读取一次的流。正确做法是:1) 先克隆响应对象response.clone();2) 对克隆对象执行异步解析操作(.json()或.text());3) 返回原始响应对象供后续使用。这样既能查看响应内容,又避免消耗原始响应流。关键点在于理解响应体的"单次读取"特性,通过克隆解决重复读取问题。

2026-01-15 18:00:08 68

原创 v3.umijs 配置 plugin-layout 后报错

摘要:React应用中出现的"Can't perform a React state update on an unmounted component"警告源于Ant Design Menu组件的Overflow子组件在卸载后仍尝试更新状态。这通常由菜单折叠/展开动画引起。解决方案是在Umi的配置文件(.umirc.ts或config/config.ts)的layout配置中添加menu:{animation:false}或motion:false选项来关闭菜单动画,避免内存泄漏。

2026-01-13 19:29:05 25

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除