内容简介:回忆 2 年前,自己还是基于 Python + bootstrap 开发一些内部平台。因为涉及到需要使用 *** time ago 类似的时间显示,于是用 Python 实现了一个方法 timeAgo,在服务端转化好了之后给前端显示。因为页面国际化,...
回忆
2 年前,自己还是基于 Python + bootstrap 开发一些内部平台。因为涉及到需要使用 *** time ago 类似的时间显示,于是用 Python 实现了一个方法 timeAgo,在服务端转化好了之后给前端显示。因为页面国际化,所以内置有中英文两种翻译。
那个时候,ES6 推广起来了,前端开发开始疯狂使用 React、Vue、Angular 三大框架,前端能做的事情越来越多。React 用户量陡增阶段,我们的一个平台也尝试使用 React,自己也开始初入前端,使用 Python 在服务端做 timeAgo 计算的最大问题在于无法进行动态渲染,因为动态渲染还是需要前端 js 配合。
于是,timeago.js 出现了,将 Python 一套翻译成 JavaScript,然后增加动态更新的机制。
timeago.js is a tiny(2.0 kb) library used to format date with `*** time ago` statement.
这个项目是一个很 nano 的项目,打包出来,内置中英文翻译也就 2 kb 不到。开源出去之后,几次上 trending,star 居然高达上千。
v4.0
从最开始的 1.0 版本到现在 的 4.0 版本,其实功能上区别不大,主要修改还是在于代码组织、API 设计、以及技术栈更新。
v4.0 从一年半前就开 issue 准备动工,但是因为工作原因,周末完全没有写业务代码的动力。不过这一年多扩从了不少语言版本。
主要内容包括:
- ✅从 ES5 -> ES6 -> typescript
- ✅从单文件 -> webpack 打包 -> rollup
- ✅从 class API -> function API
- ✅移除 jQuery 支持
- ✅扩展 i18n 国际化
- ✅单测、覆盖率
使用
快速开始
- 安装
npm install timeago.js
- 引入
import { format, render, cancel, register } from 'timeago.js';
或者在 html 中以 script
标签的方式引入,使用全局变量 timeago
。
<script src="dist/timeago.min.js"></script>
- example
// format the time with locale format('2016-06-12', 'en_US');
API
- format:格式化时间为 time ago 格式静态字符串,可用于 node 环境;
- render & cancel:页面上动态渲染 dom 标签;
- register:注册自定义的语言 locale;
目前已经包含 46 个语言翻译。更全面的使用文档见:README.md。Live Demo:https://timeago.org。
这周末花了一天时间,整理出来终结 v4.0 版本,又可以管两年了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。