別名機制
所謂別名機制,即可以將任意模塊名,映射成其他名稱,比如一個模塊名 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>