调试

通过下面方式,可以输出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指令大全的更多相关文章

  1. Linux日常使用指令大全

    Linux日常使用指令大全 Java代码 www.ahlinux.com 001.日常维护常用查询命令 #top    显示系统进程 #clear  清理屏幕信息 #cat /etc/redhat-r ...

  2. linux指令大全(完整篇)(转)

       http://blog.chinaunix.net/uid-9681606-id-1998590.html  linux指令大全(完整篇)(转) 2009-03-17 01:21:46 分类:  ...

  3. Linux学习笔记之vim操作指令大全

    0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...

  4. Linux超全实用指令大全

    参考 Linux超全实用指令大全

  5. Linux 指令大全

    作为一个小前端,以前有我们的运维大神在的时候,要给服务器做什么配置的时候就找他(那时幸福到哭),如今他走了,公司也没招人(想把这个钱省下来,让我发现了,毕竟我能当小运维用,虽然很这方面很渣渣,哈哈,偷 ...

  6. IL指令大全(转)

    名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...

  7. angular指令大全

    这篇文章的案例都是来自官方,引用的cdn来自bootcss, 因为angular的官方网站被屏了, 所以要翻, 不过我把整个文档下回来了,方便大家下载可以点击: 打开下载英文版 angular的指令 ...

  8. IL指令大全

    IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执 ...

  9. Angualar:指令大全

    指令: 内置渲染指令 内置事件指令 内置节点指令 自定义指令 restrict template replace属性 templateUrl属性 trnsclude priorty terminal属 ...

随机推荐

  1. Distribution2:Distribution Writer

    Distribution Writer 调用Statement Delivery 存储过程,将Publication的改变同步到Subscriber中.查看Publication Properties ...

  2. LINQ系列:Linq to Object聚合操作符

    聚合函数在一系列的值上执行特定的运算,并返回单个值,如在给定元素的值上执行求和或计数运算. LINQ共有7种聚合操作符:Aggregate.Average.Count.LongCount.Max.Mi ...

  3. gridview里找到控件

    ; i < gvIncomeYG.Rows.Count; i++) { Label lblYG_DYYGSR_BHS = ((Label)gvIncomeYG.Rows[i].Cells[].F ...

  4. v-if VS v-show

    在vue实现轮播图效果 中分别用到 v-if和 v-show 下面讲讲我理解的他们的区别: v-if: 根据表达式的值的真假条件渲染元素.在切换时元素及它的数据绑定 / 组件被销毁并重建.如果元素是 ...

  5. 创建第二个 vlan network "vlan101" - 每天5分钟玩转 OpenStack(96)

    前面我们创建了 vlan100,并部署了 instance,今天将继续创建第二个 vlan network "vlan101". subnet IP 地址为 172.16.101. ...

  6. SQL Server-语句类别、数据库范式、系统数据库组成(一)

    前言 终于等到这一天,我要开始重新系统学习数据库了,关于数据库这块,不出意外的话,每天会定时更新一篇且内容不会包含太多,简短的内容,深入的理解,Always to review the basics. ...

  7. 【重磅开源】Hawk-数据抓取工具:简明教程

    Hawk-数据抓取工具:简明教程 标签(空格分隔): Hawk Hawk: Advanced Crawler& ETL tool written in C#/WPF 1.软件介绍 HAWK是一 ...

  8. Ubuntu杂记——Ubuntu下以USB方式连接Android手机调试

    在Ubuntu下进行Android开发,发现自己的手机就算打开USB连接.USB调试还是连不上,一直都是显示??????.百度了很多,发现都是要改“ /etc/udev/rules.d/50-andr ...

  9. 用CSS3动画,让页面动起来

    以前就听说过有个库,叫animate.css,但是自己并没有在实际项目中使用过,这次正好要做个招聘页面,得以利用一下这个库,在经常会卡顿的UC浏览器中也能流畅执行. 扫描下面的二维码,可以看到在线的d ...

  10. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...