专栏名称: 前端早读课
我们关注前端,产品体验设计,更关注前端同行的成长。 每天清晨五点早读,四万+同行相伴成长。
今天看啥  ›  专栏  ›  前端早读课

【第3402期】编译拦截?

前端早读课  · 公众号  · 前端  · 2024-10-29 08:05

主要观点总结

本文介绍了如何通过编译时拦截来解决小程序项目中由于修改dayjs本地化配置导致的全局配置污染问题。文章首先讲述了问题的起源,是由于子包代码执行导致的日期错位问题。然后,文章详细解释了问题背景,包括dayjs的本地化配置和国际化,以及它们如何影响应用程序的展示。问题定位后,文章给出了解决方案,即通过将配置信息拆分和规范管控来避免污染全局配置。文章还探讨了如何避免类似问题再次发生,提出了通过编译时拦截来防止全局配置被误修改的可能性。最后,文章总结了解决方案,并提供了技术选型、代码实现和测试过程。

关键观点总结

关键观点1: 问题起源

一个线上问题的起源,导致日期错位。

关键观点2: 问题背景

项目中统一使用dayjs库处理时间和日期,以及dayjs的本地化配置和国际化。

关键观点3: 解决方案

通过拆分配置信息和规范管控,避免污染全局配置。

关键观点4: 技术选型

使用Webpack Loader和Babel插件实现编译时拦截。

关键观点5: 未来考虑

通过编译时拦截防止全局配置被误修改,以及提供通用的校验能力。


文章预览

前言 讲述了如何通过编译时拦截来解决小程序项目中由于修改 dayjs 本地化配置而导致的全局配置污染问题。今日前端早读课文章由 @苏梓铭分享,公号:Goodme 前端团队授权分享。 正文从这开始~~ 万恶之源 事情的起因,还要从年初的一个线上问题说起,我依稀记得那是一个悠闲的周五午后,产品在群里的一声惊呼,打破了这难得的片刻安宁。 “不好了小苏!快看看线上这是什么问题,怎么日期错位了” 我定睛一看,2 月 22 号,不是周四吗?怎么成周三了🤔时间倒流了?物理学不存在了?打开自己手机上的小程序看了看,还真有问题。 但是我转念一想,待办模块的代码已经半年多没有发布了,所以这一定不是我的问题,但是毕竟是自己负责的业务线,还是老老实实的打开项目开始排查。 问题背景 首先需要明确,在项目工程中,我们统一使用 d ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览