当前位置: 首页 > web >正文

解决 Antd 日期组件国际化失败或者 TypeError: clone.weekday is not a function 问题

Antd 日期组件国际化失败处理

近期测试同步线上环境日期选择组件国际化失败,星期展示为英文

经过处理发现这样导致国际化失败的问题多半就是 dayjs 版本所导致的,项目安装的 dayjs 版本与项目中所应用的 Antd 的 dayjs 版本不一致,Antd官网有对这样的情况做说明:
为什么时间类组件的国际化 locale 设置不生效?

然后看了自己项目中Antd所依赖的 dayjs 版本为 1.11.11,升级项目的 dayjs版本为 1.11.11之后,国际化失败问题得到解决,组件中的星期显示正常回到中文

Antd 日期组件报 TypeError: n.weekday is not a function 问题

1. 错误现象

上次升级 dayjs 后过了一段时间新的问题又来了,日期组件提示 n.weekday is not a function,点击报错提示进去看后发现:

2. 排错过程

也就是这个 n 是通过原本的日期对象 n.locale("en") 得来的,感觉好像依旧跟日期格式化有关,于是又查看起了 为什么时间类组件的国际化 locale 设置不生效?

根据文档提示,检查了项目是否有多个 dayjs 依赖共存

npm ls dayjs

上面的命令会输出当前项目中 dayjs 依赖的版本情况,结果发现确实是有几个版本的 dayjs 共存的情况,有项目中自己安装的 1.11.11 的版本,还有一些其他依赖包自身所依赖的 dayjs 有 1.10.8、1.11.7 ,反正就是存在多个 dayjs 依赖共存的情况

3. 最后处理

 最后处理办法通过 package.json 中的 resolutions 字段强制解决依赖冲突问题,限制多个包间接依赖了的 dayjs 版本为自己项目中安装的  1.11.11,最终问题得到解决

"resolutions": {"dayjs": "1.11.11"
}

http://www.xdnf.cn/news/6446.html

相关文章:

  • VSCode CMake工作流
  • Java并发编程:synchronized机制
  • Redis--基础知识点--26--过期删除策略 与 淘汰策略
  • 聊聊redisson的lockWatchdogTimeout
  • AWS Elastic Beanstalk部署极简Spring工程(EB CLI失败版)
  • 基于OpenCV的人脸微笑检测实现
  • 乘法口诀练习神器
  • 富文本编辑器:链接功能
  • 基于 Python Requests + Pytest + Allure 构建接口自动化测试框架的最优实践
  • 编程日志5.8
  • 【测试】测试分类
  • WebRTC 通话原理:从协商到通信
  • Intellij报错:the file size(3.47M) exceeds configured limit (2.56MB)
  • websocket入门详解
  • 第28周——InceptionV1实现猴痘识别
  • 鸿蒙OSUniApp实现个性化的搜索框与搜索历史记录#三方框架 #Uniapp
  • STM32单片机内存分配详细讲解
  • Android Studio中Gradle 7.0上下项目配置及镜像修改
  • 游戏引擎学习第280天:精简化的流式实体sim
  • 毕设设计 | 管理系统图例
  • ET EntityRef EntityWeakRef 类分析
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的消防机器人控制器技术方案‌
  • VSTO(C#)Excel开发进阶2:操作图片 改变大小 滚动到可视区
  • 产品更新丨谷云科技 iPaaS 集成平台 V7.5 版本发布
  • [特殊字符] 苍穹外卖项目中的 WebSocket 实战:实现来单与催单提醒功能
  • Parsec解决PnP连接失败的问题
  • 星巴克中国要卖在高点
  • sqli-labs靶场第七关——文件导出注入
  • ISP中拖影问题的处理
  • 嵌入式学习笔记DAY21(双向链表、Makefile)