第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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章