【问题标题】:Is it possible to load an aliased module?是否可以加载别名模块?
【发布时间】:2013-09-13 21:14:38
【问题描述】:

我有一个模块“default/foo/bar”和一个模块“agency/foo/bar”。我设置了一个别名来加载代理模块而不是默认模块。然而我仍然希望“agency/foo/bar”加载“default/foo/bar”,但由于别名的原因,这是不可能的。有没有办法做到这一点?

这是实际的 sn-ps:

    aliases: [
        ["gis/ol/config", "agency/ol/config"],
        ["aliased/gis/config", "gis/ol/config"]
    ],

尝试加载原始模块但它不起作用..config是一个对象:

define(["aliased/gis/config"], function (config) { // config 是一个对象 });

【问题讨论】:

    标签: module dojo alias amd


    【解决方案1】:

    我发现使用map 代替aliases 更清晰、更容易理解:

    map: {
      '*': {
        'gis/ol/config': 'agency/ol/config'
      },
      'agency/ol/config': {
        'gis/ol/config': 'gis/ol/config'
      }
    }
    

    此配置会导致所有模块加载 'agency/ol/config' 代替 'gis/ol/config',除了 'agency/ol/config' 它将加载 'gis/ol/config' 作为 'gis /ol/config'。

    【讨论】:

    • 是的。 Map 可用于不同的包名。
    猜你喜欢
    • 2014-06-16
    • 2017-07-23
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    相关资源
    最近更新 更多