timeago.js v4.0 发布
回忆
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 版本,又可以管两年了。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SpringBlade 2.5.1 发布,增加动态网关鉴权功能
简介: SpringBlade 是由一个商业级项目升级优化而来的 SpringCloud 微服务架构,采用 Java8 API 重构了业务代码,完全遵循阿里巴巴编码规范。采用 Spring Boot 2 、Spring Cloud Greenwich 、Mybatis 等核心技术,用于快速搭建企业级的 SaaS 微服务系统平台。 SpringBlade 同时提供 SpringBoot 单体架构版本,为中小型项目保驾护航,可与两套分别基于 React 和 Vue 的前端框架无缝对接。 SpringBlade 致力于创造新颖的开发模式,将开发中遇到的痛点、生产中所踩的坑整理归纳,并将解决方案都融合到框架中。 版本更新信息: 增加基于 nacos 的动态网关鉴权 secure 安全模块 token 校验默认关闭,交由网关处理 boot 版本开启 secure token 校验功能 优化 blade-gateway 代码逻辑 修复 blade-resource 无法启动的问题 SpringBlade系列项目地址: 前端 UI 项目地址(基于 React):Sword 前端 UI 项目地址(基于...
- 下一篇
Jboot 2.2.3 发布,完善文档并新增对加密配置内容读取的支持
Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对java代码、html、css、js 等资源文件进行热加载,爽爽的开发。 Jboot v2.2.3 主要是新增了对加密配置内容的读取支持,为了安全起见,很多时候我们需要对配置里的一些安全和隐私内容进行加密,比如数据库的账号密码等,防止web服务器被黑客入侵时保证数据库的安全。 配置的内容加密是由用户自己编写加密算法。此时,Jboot 读取的只是加密的内容,为了能正常还原解密之后的内容,用户需要给JbootConfigManager配置上解密的实现 JbootConfigDecryptor。 一般情况下,我们需要在 JbootAppListener 的 onInit() 里去配置。例如: public MyApplicationListener implements JbootAppListener { public void onInit() { JbootConfigMana...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路