kmdjs指令大全
调试
通过下面方式,可以输出kmdjs声称的类:
<script src="../dist/kmd.js?debug" data-main="js/main"></script>
在kmd.js后面加上?debug可以在console面板查看到依赖关系和输出的class。
依赖可视化
通过下面方式,可以输出使用canvas绘制的项目依赖关系图:
<script src="../dist/kmd.js" data-main="js/main?view"></script>
依赖关系,甚至是循环依赖在图中都能体现出来。
合并js
通过下面方式,可以把js合并,该js文件可直接代替kmdjs,让项目正常跑起来:
<script src="../dist/kmd.js" data-main="js/main?combine"></script>
kmdjs.config中的namespace会被编译成如下的js代码:

分离js
通过下面方式,可以把js分离到每个文件中,并自动下载:
<script src="../dist/kmd.js" data-main="js/main?split"></script>
压缩打包
通过下面方式,可以把js分离到每个文件中,并自动下载:
<script src="../dist/kmd.js" data-main="js/main?build"></script>
这样的话,js文件会经过uglify2压缩打包下载。
模块抽取
很多时候,一个kmd项目需要使用另外一个kmd项目中的某些模块,这样的话需要抽取其中的模块。
kmdjs.config({
name: "HelloKanvas",
baseUrl: "js",
classes: [
{ name: "Kanvas.DisplayObject" },
{ name: "Kanvas.Bitmap" },
{ name: "Kanvas.Txt" },
{ name: "Kanvas.Stage" },
{ name: "Kanvas.Container" },
{ name: "Kanvas.Matrix2D" },
{ name: "Kanvas.Shape.Circle" },
{ name: "Kanvas.Sprite" },
{ name: "Kanvas.Loader" },
{ name: "Kanvas.RAF" },
{ name: "Kanvas.UID" },
{ name: "Kanvas.UI.Button" },
{ name: "Kanvas.UI.ShapeButton" },
{ name: "Kanvas.TWEEN" },
{ name: "Kanvas.Shape" }
],
build: [
"Kanvas.DisplayObject",
"Kanvas.Bitmap"
]
});
如上面的的代码,会自动以kmdjs.exec(...)的形式build出DisplayObject和Bitmap以及他们依赖的模块。
抽取模块的使用
这里假定抽取出来的模块名字叫做Kanvas.js,再另外的kmd项目中的kmdjs.config如下配置:
kmdjs.config({
name: "KanvasGame",
baseUrl: "js",
deps: [
{
url: "Kanvas.js",
classes: [
{ name: "Kanvas.DisplayObject" },
{ name: "Kanvas.Bitmap" }
]
}
],
classes: [
{ name: "KanvasGame.Util" },
{ name: "KanvasGame.MainPanel" },
{ name: "KanvasGame.Game" }
]
});
不管是合并、打包压缩、分离等,最后kmdjs都会拉平所有依赖,补全所有namespace,所以kmdjs是支持循环依赖,并且告诉人们,世界上根本没有循环依赖那回事儿。
kmdjs项目地址:https://github.com/kmdjs/kmdjs
待续...
kmdjs指令大全的更多相关文章
- Linux日常使用指令大全
Linux日常使用指令大全 Java代码 www.ahlinux.com 001.日常维护常用查询命令 #top 显示系统进程 #clear 清理屏幕信息 #cat /etc/redhat-r ...
- linux指令大全(完整篇)(转)
http://blog.chinaunix.net/uid-9681606-id-1998590.html linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类: ...
- Linux学习笔记之vim操作指令大全
0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...
- Linux超全实用指令大全
参考 Linux超全实用指令大全
- Linux 指令大全
作为一个小前端,以前有我们的运维大神在的时候,要给服务器做什么配置的时候就找他(那时幸福到哭),如今他走了,公司也没招人(想把这个钱省下来,让我发现了,毕竟我能当小运维用,虽然很这方面很渣渣,哈哈,偷 ...
- IL指令大全(转)
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- angular指令大全
这篇文章的案例都是来自官方,引用的cdn来自bootcss, 因为angular的官方网站被屏了, 所以要翻, 不过我把整个文档下回来了,方便大家下载可以点击: 打开下载英文版 angular的指令 ...
- IL指令大全
IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执 ...
- Angualar:指令大全
指令: 内置渲染指令 内置事件指令 内置节点指令 自定义指令 restrict template replace属性 templateUrl属性 trnsclude priorty terminal属 ...
随机推荐
- Python 学习之路 (前言)
为什么要学Python 1,脚本语言本身很方便简洁,未来会有趋势 2,web 方向 3,运维方向 我是学静态语言出身的,java,毕业后从事android 应用开发,曾在工作期间学习过linux,想 ...
- OpenCASCADE Linear Extrusion Surface
OpenCASCADE Linear Extrusion Surface eryar@163.com Abstract. OpenCASCADE linear extrusion surface is ...
- java泛型上下限
前言: java的泛型上下限不是很好理解,尤其像我这种菜鸡.反反复复看了好几遍了...,真是... 一.简单的继承体系 class Person{} class Student extends Per ...
- Android okHttp网络请求之Get/Post请求
前言: 之前项目中一直使用的Xutils开源框架,从xutils 2.1.5版本使用到最近的xutils 3.0,使用起来也是蛮方便的,只不过最近想着完善一下app中使用的开源框架,由于Xutils里 ...
- Web APi之手动实现JSONP或安装配置Cors跨域(七)
前言 照理来说本节也应该讲Web API原理,目前已经探讨完了比较底层的Web API消息处理管道以及Web Host寄宿管道,接下来应该要触及控制器.Action方法,以及过滤器.模型绑定等等,想想 ...
- CDH安装失败了,如何重新安装
1> 删除Agent节点的UUID # rm -rf /opt/cm-5.4.7/lib/cloudera-scm-agent/* 2> 清空主节点CM数据库 进入主节点的Mysql数据 ...
- spring @import和@importResource
@ImportResource in spring imports application xml in configuration file which is using @Configuratio ...
- swift 中数据类型那个的转换
在swift中关于数据类型的转换,如果参数是可选类型? 那么打印或者转换的结果 会带有Optional 字样,,
- objective-c 语法快速过(8)
Block(oc 的数据类型,很常用,本质是c结构体) 类似内联函数,从源代码层看,有函数的结构,而在编译后,却不具备函数的性质.编译时,类似宏替换,使用函数体替换调用处的函数名 Block封装了一段 ...
- 跨域post请求实现方案小结--转
[名词解释] 跨域:https://developer.mozilla.org/en-US/docs/JavaScript/Same_origin_policy_for_JavaScript 同源策略 ...