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

    待续...

  • 相关阅读:
    怎么往mac中finder个人收藏里添加文件夹
    UIView 动画
    添加.pch文件
    声明属性的关键字
    创建app前的环境配置/AppIcon/启动图片
    修改动画的旋转支点
    实现自定义xib和storyboard的加载,
    Quartz2D绘图 及实例:下载进度
    帧动画
    在职研究生第一单元第二单元第三单元第四单元是什么?
  • 原文地址:https://www.cnblogs.com/iamzhanglei/p/3985512.html
Copyright © 2011-2022 走看看