最好用的js第三方库脚手架,fork或clone本仓库,即可搭建完成一个新库的基础框架
- ES6编写源码,编译生成生产代码
- 集成 babel-runtime (默认关闭)
- 第三方依赖自动注入(自动剔除第三方依赖无用代码tree shaking)
- 多环境支持(支持浏览器原生,支持AMD,CMD,支持Webpack,Rollup,fis等,支持Node)
- 集成单元测试环境
- 集成代码风格校验eslint
- 集成可持续构建工具travis-ci
- 支持自定义banner
- 集成jsmini
- 集成ISSUE_TEMPLATE
- 支持sideEffects
- 支持一键重命名
注意: 如果不同时使用 export 与 export default 可打开legacy模式,legacy模式下的模块系统可以兼容ie6-8,见rollup配置文件
单元测试保证支持如下环境:
IE | CH | FF | SF | OP | IOS | 安卓 | Node |
---|---|---|---|---|---|---|---|
6+ | 23+ | 4+ | 6+ | 10+ | 5+ | 2.3+ | 0.10+ |
注意:编译代码依赖ES5环境,对于ie6-8需要引入es5-shim才可以兼容,可以查看demo/demo-global.html中的例子
.
├── demo 使用demo
├── dist 编译产出代码
├── doc 项目文档
├── src 源代码目录
├── test 单元测试
├── CHANGELOG.md 变更日志
└── TODO.md 计划功能
通过npm下载安装代码
$ npm install --save @jsmini/base
如果你是node环境
var name = require('@jsmini/base').name;
如果你是webpack等环境
import { name } from '@jsmini/base';
如果你是requirejs环境
requirejs(['node_modules/@jsmini/base/dist/index.aio.js'], function (jsmini_base) {
var name = jsmini_base.name;
})
如果你是浏览器环境
<script src="node_modules/@jsmini/base/dist/index.aio.js"></script>
<script>
var name = jsmini_base.name;
</script>
首次运行需要先安装依赖
$ npm install
一键打包生成生产代码
$ npm run build
运行单元测试,浏览器环境需要手动测试,位于test/browser
$ npm test
修改package.json中的版本号,修改README.md中的版本号,修改CHANGELOG.md,然后发布新版
$ npm run release
将新版本发布到npm
$ npm publish --access=public
重命名项目名称,首次初始化项目是需要修改名字,或者后面项目要改名时使用,需要修改rename.js
中的fromName
和toName
,会自动重命名下面文件中的名字
- README.md 中的信息
- package.json 中的信息
- config/rollup.js 中的信息
- test/browser/index.html 中的仓库名称
$ npm run rename # 重命名命令