seajs config中的vars用法
想在seajs中定义全局变量供模块使用,用法如下:
为了模块能配置使用,首先我在jsp中定义变量(为了多个jsp共用一个js模块)。
seajs.config({
vars: {
'a': 'name1',
'b': 'name2'
}
});
在模块中这样调用:
define(function (require, exports, module) {
console.log(seajs.data.vars.a); //name1
console.log(seajs.data.vars.b); //name2
});
理论上是可行的,但感觉不应该这么用,有没有其他方法可以传递变量,而不是直接在外层定义全局变量?
天心阁撸炮大赏
10 years, 4 months ago
Answers
config的用法有多种,其中一种是变量配置,如你所说。有些场景下,模块路径在运行时才能确定,这时可以使用 vars 变量来配置。
vars 配置的是模块标识中的变量值,在模块标识中用 {key} 来表示变量。
seajs.config({
// 变量配置
vars: {
'locale': 'zh-cn'
}
});
define(function(require, exports, module) {
var lang = require('./i18n/{locale}.js');
//=> 加载的是 path/to/i18n/zh-cn.js
});
Plics♂C
answered 9 years, 7 months ago