zoukankan      html  css  js  c++  java
  • 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代码:

    cfgtns

    分离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

    待续...

  • 相关阅读:
    164 Maximum Gap 最大间距
    162 Find Peak Element 寻找峰值
    160 Intersection of Two Linked Lists 相交链表
    155 Min Stack 最小栈
    154 Find Minimum in Rotated Sorted Array II
    153 Find Minimum in Rotated Sorted Array 旋转数组的最小值
    152 Maximum Product Subarray 乘积最大子序列
    151 Reverse Words in a String 翻转字符串里的单词
    bzoj3994: [SDOI2015]约数个数和
    bzoj 4590: [Shoi2015]自动刷题机
  • 原文地址:https://www.cnblogs.com/iamzhanglei/p/3985512.html
Copyright © 2011-2022 走看看