UNPKG

v-kitty

Version:

hello kitty

139 lines (111 loc) 3.93 kB
## kitty 便捷的搭建前端工程 ## 功能概述 1. 通俗易懂,超低学习成本,只有一条命令 2. 便捷的支持第三方扩展 3. 适合node服务端和前端构建 4. 内置less解析功能 5. 支持commonjs规范,比webpack生成的代码更轻 6. 支持gulp 7. 支持include自定义变量,工程构建更灵活 8. 支持tpl中的js\css\html整合在同一个目录,便捷的组件开发\管理方式 9. 功能强大的cdn处理方案 ## 快速入门 ##安装 ```shell npm install v-kitty --save ``` ## gulp引入 ```javascript var gulp = require('gulp'); var kitty= require('v-kitty/gulp.js'); //普通方式 gulp.task('run',function(){ gulp.src(['./include/*.html']) .pipe(kitty()) }) //监听方式,建议使用gulp-watch,因为gulp.watch不能对删除文件监听 var gulpWatch = require('gulp-watch'); gulpWatch('./include/*html',function(){ gulp.start('run'); }) ``` 更多使用可以参考v-kitty/test/gulpfile.js文件夹 ## 配置 * kitty.config.tag="_include" 引入标签 默认 '_include' * kitty.config.baseDir="./" 项目根目录,如果引入绝对地址需要设置,默认为node_modules上级目录 * kitty.config.varTag.open="@@" 处理变量打开标签 * kitty.config.varTag.close="@@" 处理变量关闭标签 * kitty.config.cdnUrl="" cdn地址 * kitty.config.resourceDir="" 资源文件地址 * kitty.config.watch=true 自动监听关联文件 ## 使用 ####格式 _include('文件名称?_ac=执行的扩展名',options)<br/> _include('./index.js?_ac=babel_jstag',{"title":"猜你喜欢"}) * _include 主入口 * _ac 执行的扩展名,以下划线`_`分割,打包将按先后顺序执行 * options 选项,必须是标准的JSON格式 #### demo1 ```html index.html _include('./header.html',{"title":{"name":"猜你喜欢"}}) //数据必须使用标准的json格式(键值使用双引号) ./header.html <title>@@title.name@@</title> ``` #### demo2 ```html index.html _include('./index.js?_ac=babel_jstag') ``` ```javascript ./index.js var tpl = _include('tpl/item.tpl'); var Utils = require('./utils.js'); $('body').append(tpl) ``` 更多使用可以参考v-kitty/test文件夹 ## 内置扩展功能 传递content和actionFile参数 * jstag 内容使用`<script>`标签包裹 * csstag 内容使用`<style>`标签包裹 * less less编译 * encode 内容encodeURIComponent * babel 如果代码使用commonjs规范,必须使用babel进行转换,注意不会es6 to es5, babel值放入在主页面引用中 * minifyJs 压缩js * minifyCss 压缩css * minifyHtml 压缩html * minify 根据文件类型压缩,内部执行minifyJs,minifyCss,minifyHtml,minify建议放到less\label后一步进行 * cdn cdn处理 * beforeCompile compile执行前的动作,默认执行,方便开发者对原始内容处理,必须返回content.比如执行一些替换操作 * afterCompile compile完成后执行的动作,默认执行,方便开发者对编译后内容进一步处理,必须返回content.比如执行一些替换操作 ## 如何扩展 ```javascript var kitty= require('v-kitty/gulp.js'); //覆盖内置扩展 kitty.loader.minify = function(content,actionFile){return content+'something';} //新建扩展 kitty.loader.dosomething = function(content,actionFile){return 'something';} ``` ## changelogs #### v0.3.0 1. 调整编译处理方式,使用叶子反触发编译方式,加快编译速度 2. 调整文件入口方式,内置文件watch #### v0.2.5 1. 增加loader.beforeCompile功能 2. 增加loader.afterCompile功能 #### v0.2.0 1. 调整loaders模式 2. 提供cdn loader模块 3. 优化版本控制 #### v0.1.12 1. 支持原生异步引入方式 ##### v0.1.9 1. 增加baseDir配置 2. 增加变量关闭\打开标签配置 3. 处理js _include无法使用扩展bug ##### v0.1.7 1. 修复js _include失败问题 ##### v0.1.5 1. 扩展模式修改,kitty.loader 为扩展对象 2. 支持不区分扩展函数大小写