kmdjs指令大全
2014-09-22 10:31 【當耐特】 閱讀(1467) 評論(2) 收藏 舉報調試
通過下面方式,可以輸出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
待續...
浙公網安備 33010602011771號