美文网首页
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