1010[ travis-url ] : https://travis-ci.org/liriliri/licia
1111[ license-image ] : https://img.shields.io/npm/l/licia.svg
1212
13- Eustia官方模块
14-
15- Licia是一套在开发中实践积累起来的实用JavaScript工具库。该库目前拥有超过180个模块,包括Dom操作,cookie设置,类创建,模板函数,日期格式化等实用模块,同时配套有打包工具Eustia进行定制化,使JS脚本加载量缩减在10KB以下,极大优化移动端页面的加载速度。
13+ Licia 是一套在开发中实践积累起来的实用 JavaScript 工具库。该库目前拥有超过 300 个模块,包括 Dom 操作,cookie 设置,类创建,模板函数,日期格式化等实用模块,同时配套有打包工具 Eustia 进行定制化,使JS脚本加载量缩减在 10KB 以下,极大优化移动端页面的加载速度。
1614
1715目前拥有的所有模块可[ 点此] ( https://eustia.liriliri.io/module_cn.html ) 查看。
1816
1917## 开发背景
2018
21- Licia从一开始就不是为了单纯地替代underscore或lodash而生。它的目标是提供一系列在日常开发中使用率较高的JavaScript模块 。因此,每一个新加入的模块都是在项目中实际使用到时才被添加进去。当前已经累积180+ 模块,而且还在不断更新中,已经可以满足移动端日常开发的绝大部分需求。
19+ Licia 从一开始就不是为了单纯地替代 underscore 或 lodash 而生。它的目标是提供一系列在日常开发中使用率较高的 JavaScript 模块 。因此,每一个新加入的模块都是在项目中实际使用到时才被添加进去。当前已经累积 300+ 模块,而且还在不断更新中,已经可以满足移动端日常开发的绝大部分需求。
2220
23- 你不再需要引入zepto了,因为已经有个类jQuery的模块了;不再需要引入cookie库了,因为已经有cookie操作模块了;不再需要moment了,因为有个dateFormat可以满足大部分格式化需求了 ;不再需要引入Promise pollyfill,因为已经有个通过Promise A+测试的Promise库了;不再需要引入EventEmitter库了 ,因为已经有了;不再需要引入ajax库了,因为有ajax,而且还有fetch;不再需要引入underscore,仅仅是为了使用一个打乱数组的shuffle函数;还有那个引用数奇高的mkdirp模块,再也不需要再把它装到node_modules里去了 ……
21+ 你不再需要引入 zepto 了,因为已经有个类 jQuery 的模块了;不再需要引入 cookie 库了,因为已经有 cookie 操作模块了;不再需要 moment 了,因为有个 dateFormat 可以满足大部分格式化需求了 ;不再需要引入Promise pollyfill,因为已经有个通过 Promise A+ 测试的 Promise 库了;不再需要引入 EventEmitter 库了 ,因为已经有了;不再需要引入 ajax 库了,因为有 ajax,而且还有 fetch;不再需要引入 underscore,仅仅是为了使用一个打乱数组的 shuffle 函数;还有那个引用数奇高的mkdirp 模块,再也不需要再把它装到 node_modules 里去了 ……
2422
2523## 使用方法
2624
27- 推荐使用官方打包工具[ eustia] ( https://eustia.liriliri.io/ ) 针对项目定制工具库按需引入。当然安装** licia** 模块然后直接引用也是可以的。
25+ 推荐使用官方打包工具 [ eustia] ( https://eustia.liriliri.io/ ) 针对项目定制工具库按需引入。当然安装 ** licia** 模块然后直接引用也是可以的。
2826
2927``` bash
3028npm i licia --save
@@ -40,7 +38,7 @@ console.log(uuid()); // -> 0e3b84af-f911-4a55-b78a-cedf6f0bd815
4038
4139## 提交新模块
4240
43- 在无法找到所需模块的情况下,你可以发起issue建议或者自己添加模块合并到该项目中去 。
41+ 在无法找到所需模块的情况下,你可以发起 issue 建议或者自己添加模块合并到该项目中去 。
4442
4543关于如何编写模块,请查看[ Eustia文档] ( https://eustia.liriliri.io/docs.html#create-module ) 中的相关说明。
4644
@@ -52,18 +50,18 @@ console.log(uuid()); // -> 0e3b84af-f911-4a55-b78a-cedf6f0bd815
5250* 必须有单元测试。
5351* 必须有 typescript 定义。
5452* 必须指明运行环境,node,浏览器或全部。
55- * 模块名只能包含** a-zA-Z0-9$** 等字符。
56- * 不能存在功能高度相似的模块,例如不能添加leftPad模块因为已经有模块lpad了 。
57- * 模块可以依赖其它模块,但所有代码都必须写在一个文件,不能超过500行 ,包括使用说明和空行。
53+ * 模块名只能包含 ** a-zA-Z0-9$** 等字符。
54+ * 不能存在功能高度相似的模块,例如不能添加 leftPad 模块因为已经有模块 lpad 了 。
55+ * 模块可以依赖其它模块,但所有代码都必须写在一个文件,不能超过 500 行 ,包括使用说明和空行。
5856
5957### 怎么添加
6058
61- * Fork该仓库 。
62- * ` npm i && npm link ` 将** licia** 命令行工具添加到系统中。
63- * 创建一个文件名为模块名的js文件 ,还有相应的单元测试文件,以test.js结尾 。
64- * 编写模块代码,使用文档(顶部块注释,Markdown格式 )和单元测试。
59+ * Fork 该仓库 。
60+ * ` npm i && npm link ` 将 ** licia** 命令行工具添加到系统中。
61+ * 创建一个文件名为模块名的 js 文件 ,还有相应的单元测试文件,以 test.js 结尾 。
62+ * 编写模块代码,使用文档(顶部块注释,Markdown 格式 )和单元测试。
6563* ` licia test <module-name> ` 执行测试。如果模块只能跑在浏览器端,使用` -b ` 选项。
6664* ` npm run cov ` 检查测试覆盖率。
67- * 输入` npm run update ` 命令更新** index.json** 和 ** DOC.md** 文件。
65+ * 输入` npm run update ` 命令更新 ** index.json** 和 ** DOC.md** 文件。
6866
69- 做完这一切就可以发起pull request了 :)
67+ 做完这一切就可以发起 pull request 了 :)
0 commit comments