美文网首页
DayJs源码(五)Dayjs插件

DayJs源码(五)Dayjs插件

作者: 小q | 来源:发表于2021-05-17 21:58 被阅读0次

在DayJS中存在许多方法需要结合插件使用的例子。在DayJS中是怎样实现插件功能呢?

首先,dayJS注册插件方法在index.js

dayjs.extend = (plugin, option) => {
  if (!plugin.$i) { // install plugin only once
    plugin(option, Dayjs, dayjs)
    plugin.$i = true
  }
  return dayjs
}

首先extend方法支持传递两个参数,分别是插件本身和插件参数。函数里面将调用插件,同时传入三个参数,分别是插件参数,Dayjs类和dayjs函数。

咱们直接找一个插件看看里面的实现方法。存放插件的贷方就在plugin文件夹中
以dayOfyear插件为例,此方法返回一个number,表示Dayjs的年份,或者设置年份的日期。源码如下:

export default (o, c) => {
  const proto = c.prototype
  proto.dayOfYear = function (input) {
    const dayOfYear = Math.round((this.startOf('day') - this.startOf('year')) / 864e5) + 1
    return input == null ? dayOfYear : this.add(input - dayOfYear, 'day')
  }
}

相关文章

网友评论

      本文标题:DayJs源码(五)Dayjs插件

      本文链接:https://www.haomeiwen.com/subject/cassjltx.html