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
});

理论上是可行的,但感觉不应该这么用,有没有其他方法可以传递变量,而不是直接在外层定义全局变量?

seajs JavaScript

天心阁撸炮大赏 10 years, 5 months ago

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
});

更多用法,请参考 https://github.com/seajs/seajs/issues...

Plics♂C answered 9 years, 8 months ago

Your Answer