第2章{ 2-9 别名机制 }

别名机制

  所谓别名机制,即可以将任意模块名,映射成其他名称,比如一个模块名 bee-demo/a,因为第三方的需要,需要定义成 bee-demo/b,如何操作呢?

KISSY.config('modules',{
    'bee-demo/b':{
        alias:['bee-demo/a']
    }
});

业务模块 require('bee-demo/b') 等价于 require('bee-demo/a')。

modules 别名配置经常应用于公共模块管理,项目负责人可以统一指定所使用公共模块的版本并且方便统一升级, 而具体开发者则可以不用关心使用模块的版本信息。

比如 bee-demo 项目中引用了二个组件,组件的模块名称中包含版本号信息,像kg/offline/2.0.0/index,但我们不希望在业务模块 require 时带有版本号,require('kg/offline/index'),那么如何配置呢?

KISSY.config('modules',{
    'kg/offline/index':{
        alias:['kg/offline/2.0.0/index']
    },
    'kg/auth/index':{
        alias:['kg/auth/2.0.0/index']
    }
});

这样,我们就可以在一处地方维护公共模块的版本,方便统一升级。       

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>alias</title>
    <script src="//g.alicdn.com/kissy/k/1.4.7/seed-min.js" charset="utf-8" data-config="{combine:true}"></script>
</head>
<body>
<script>
    KISSY.config('modules',{
        'bee-demo/b':{
            alias:['bee-demo/a']
        }
    });


    KISSY.add('bee-demo/a',function(S ,require, exports, module){
        var Node = require('node');
        Node.all('body').html('bee-demo/b 等价于 bee-demo/a');
    });
    KISSY.use('bee-demo/b');
</script>
</body>
</html>

发布了36 篇原创文章 · 获赞 12 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章