/littlejs

😀自己写的一个Javascript基础库——littlejs,Little and basic

Primary LanguageJavaScript

littlejs logo

littlejs -- Little and basic

【重构开发中】本项目是基于jslib-little环境重构littlejs, 工具式JavaScript库,类似于loadsh。

功能

功能库:

  • 运动框架;
  • 用ajax实现前后端分离;
  • 设置、获取或者删除cookie;
  • 支持异步方法之一generator的使用;
  • 手势系统
  • 扩展机制
  • 常用工具库fn
    • ArraryFn
    • client系列兼容库
    • DateFn
    • DomFn
    • Http(ajax、fetchHttp)
    • NumberFn
    • scroll系列兼容库
    • Storage缓存库
    • StringFn
    • type类型判断库
    • OtherFn

组件:

  • 轮播图(响应式即适配移动端);
  • 选项卡;
  • 图片懒加载(瀑布流);

特性

  • ES6编写源码,编译生成生产代码
  • 集成 babel-runtime (默认关闭)
  • 第三方依赖自动注入
  • 支持浏览器原生
  • 支持AMD,CMD
  • 支持Webpack,Rollup,fis等
  • 支持Node
  • 集成单元测试环境
  • 集成eslint
  • 集成travis-ci
  • 支持banner

注意: 如果不同时使用 export 与 export default 可打开legacy模式,legacy模式下的模块系统可以兼容ie6-8,见rollup配置文件

兼容性

单元测试保证支持如下环境:

  • Node 4+
  • Safari 6+ (Mac)
  • iOS 5+ Safari
  • Chrome 23+ (Windows, Mac, Android, iOS, Linux, Chrome OS)
  • Firefox 4+ (Windows, Mac, Android, Linux)
  • Internet Explorer 6+ (Windows, Windows Phone)
  • Opera 10+ (Windows, linux, Android)

目录介绍

.
├── demo 使用demo
├── dist 编译产出代码
├── doc 项目文档
├── src 源代码目录
├── test 单元测试
├── CHANGELOG.md 变更日志
└── TODO.md 计划功能

如何使用

通过npm下载安装代码

$ npm install --save @jomsou/littlejs

如果你是node环境

var little = require('littlejs');

如果你是webpack等环境

import little from 'littlejs';

如果你是requirejs环境

requirejs(['node_modules/littlejs/dist/index.aio.js'], function (little) {
    // xxx
})

如果你是浏览器环境

<script src="node_modules/littlejs/dist/index.aio.js"></script>

在body结束标签结束前引入littlejs.js

<script src="./dist/index.js"></script>

然后使用函数

l().move(this, {'opacity': 100});

线上测试

文档

API

贡献指南

首次运行需要先安装依赖

$ npm install

一键打包生成生产代码

$ npm run build

运行单元测试,浏览器环境需要手动测试,位于test/browser

$ npm test

修改package.json中的版本号,修改README.md中的版本号,修改CHANGELOG.md,然后发布新版

$ npm run release

将新版本发布到npm

$ npm publish

可能需要你自己修改的地方如下:

  • README.md 中的信息
  • package.json 中的信息
  • config/rollup.js 中的信息
  • test/browser/index.html 中的仓库名称

更新日志

CHANGELOG.md

计划列表

TODO.md

谁在使用