1.elementui源码学习之仿写一个el-timeline
2.dayjs源码解析(一):概念、仿饿locale、源源码constant、码仿utils tags
elementui源码学习之仿写一个el-timeline
本文记录了仿写el-timeline组件的仿饿细节,以深入理解饿了么UI组件的源源码实现机制。本系列文章将持续更新,码仿scratch 源码分析深入探讨elementui源码的仿饿学习与实践。可访问开源仓库,源源码通过npm start运行代码,码仿结合注释辅助理解。仿饿
时间线组件构成包括:时间线小圆点、源源码时间线竖线条、码仿时间戳与具体内容详情四个部分。仿饿如图所示。源源码
时间线组件主要需求包括:按时间线正序或倒序展示、码仿自定义时间线小圆点样式与颜色、使用小图标替代时间线小圆点、控制时间戳与具体内容详情的位置、时间戳的显示与隐藏。
对官方组件的见解包括:提供与注入可以简化、时间戳位置优化、htp源码简约封装参考其他库组件。Antd与iview的时间线组件参数较为精简。
回顾知识点:数组方法的使用,如this.$slots.default.reverse();以及`:style`中的四元表达式应用,如`:style="border: ${ elementIcon} ${ borderColor}"`。
组件代码示例如下:`myTimeline`、`myTimelineItem`。完整代码在开源仓库,欢迎访问并star。
若本文对您有所助益,txtapp源码期待您的star,感谢支持!
dayjs源码解析(一):概念、locale、constant、utils tags
深入剖析 Day.js 源码(一):概念、locale、constant、utils
Day.js 是一款轻量级的时间库,由饿了么的ajaxdemo源码开发大佬 iamkun 维护,主打无需引入过多依赖,以减少打包体积的特性。本文将通过解析 Day.js 的源码,揭示其结构与功能的奥秘,旨在为开发者提供深入理解与应用 Day.js 的工具。
目录概览
本文将分五章展开 Day.js 的源码解析,分别从代码结构、基础概念、时间标准、语言(文化)代码以及 locale、gozero源码constant、utils 的实现进行深入探讨。我们将逐步揭开 Day.js 的核心逻辑与设计思路。
代码结构与依赖分析
Day.js 的源代码目录结构简洁明了,主要依赖集中在入口文件 src/index.js 中。此文件依赖链简单,未直接引用 locale 和 plugin 目录下的语言包与插件,体现出 Day.js 优化体积、按需加载的核心优势。
基础概念与时间标准
在解析源码之前,理解以下基础概念至关重要,包括时间标准、GMT、UTC、ISO 等。这些标准与概念为后续分析提供了背景知识。
时间标准解释
格林尼治平均时间(GMT)与协调世界时(UTC)是本文中的核心时间概念。GMT 作为本初子午线上的平太阳时,而 UTC 则是基于原子时标准,与格林威治标准时间(GTM)关系密切。本文详细解释了 UTC 的定义、用途与与 0 度经线平太阳时的关系。
ISO 标准
ISO 是国际标准化组织推荐的日期和时间表示方法。在 JavaScript 中,Date.prototype.toISOString() 方法返回遵循 ISO 标准的字符串,以 UTC 时间为基准。
语言(文化)代码与 locale
不同语言对时间的描述各具特色,Day.js 通过 locale 实现了多语言支持,用户可根据需求引入相应的语言包。本文介绍了语言代码与 locale 的关联,以及如何按需加载特定语言。
constant 与 utils
src/constant.js 和 src/utils.js 分别负责存储常量与工具函数。constant 文件中包含了时间单位与格式化的正则表达式,而 utils.js 则封装了一系列实用工具函数,用于简化时间操作。
总结与展望
本文完成了 Day.js 源码解析的第一部分,深入探讨了概念、locale、constant、utils 的实现。接下来,我们将分析 Day.js 的核心文件 src/index.js,解析 Dayjs 类的实现细节。欢迎关注后续内容,期待与您共同探索 Day.js 的更多奥秘。