如何将url参数添加到requirejs中的特定路径

时间:2016-01-13 08:20:16

标签: javascript requirejs

我为谷歌地图配置了路径。然后我在不同的地方需要几次。我想将一个语言参数传递给url以加载正确的本地化。有可能吗?

例如:

requirejs.config({
    paths: {
        module: 'lib/module',
        gmaps: 'http://GOOGLE_MAPS_URL'
    }
});

require(['module', 'async!gmaps' + '&language=pt-BR'], function() {});

1 个答案:

答案 0 :(得分:0)

此刻我找到了解决方案。我创建了一个模块,它返回一个函数,该函数根据提供的语言返回正确的url:

requirejs.config({
    paths: {
        module: 'lib/module',
        getGmapsUrl: 'lib/getGmapsUrl'
    }
});

然后在lib / getGmapsUrl.js中:

define('getGmapsUrl', function () {
    var gmapsBaseUrl = 'async!http://GOOGLE_MAPS_URL';
    return function (lang) {
        return gmapsBaseUrl + '&language=' + lang;
    };
});

我就是这样用的:

require(['module', 'getGmapsUrl'], function (module, getGmapsUrl) {
    var gmapsUrl = getGmapsUrl('pt-BR'); // 'async!http://GOOGLE_MAPS_URL&language=pt-BR'
    require([gmapsUrl], function () {
        // here I have correct localization for google maps
    });
});

它有效,但它不是一个非常漂亮的解决方案。