请问 seajs 的 alias 和 paths 有什么区别?
假设 alias 和 paths 下都有一个同名不同值的属性,从 alias 生效而不是 paths 可以看出二者同又不同,作者为啥这样设计?
巴扎黑2017-04-10 16:44:12
seajs.config({
//设置路径
paths: {
'gallery': 'https://a.alipayobjects.com/gallery'
},
// 设置别名,方便调用
alias: {
'underscore': 'gallery/underscore'
}
});
define(function(require, exports, module) {
var _ = require('underscore');
//=> 加载的是 https://a.alipayobjects.com/gallery/underscore.js
});
这样我觉得应该很清晰了.设置paths可以在保证paths的gallery值,也就是基目录可以重复使用的情况下,调用其他模块.
至于生效的alias而不是paths这个也不难理解.好比paths下有个键名为 modal_one alias有个模块要加载modal_one,如果是paths生效的话,岂不是就只是加载了基目录而不是加载的模块?