【问题标题】:Handling directory paths that conflict with library paths using requirejs使用 requirejs 处理与库路径冲突的目录路径
【发布时间】:2015-01-19 21:10:06
【问题描述】:

我很好奇是否有一种方法可以安全地使用包含已在 requirejs 配置中定义的路径的路径。 我意识到“简单”的解决方案是确保路径不会冲突。这更像是一个保持词汇目录命名清晰性的问题。

requirejs.config({
    paths: {
        backbone: 'path/to/backbone',
        underscore: 'path/to/underscore'
    }
});

所以我在配置中命名了我的路径,为了保持干净,我想将我所有的主干特定文件存储在一个子目录中,也称为backbone,以便使用描述目录在逻辑上分隔。

define(['backbone/models/my-model']);

如果我在声明新模型时使用以下定义,它将不起作用,因为它会尝试将其读取为path/to/backone.js/models/my-model有没有办法让它使用主干目录而不是库的路径?

我已经尝试将配置中的路径命名为 lib.backbonelib.underscore,但我认为由于库的内部工作,requirejs 要求不要更改这些。

【问题讨论】:

    标签: requirejs


    【解决方案1】:

    我知道如何解决此问题的唯一方法是向您的 paths 设置添加一个映射,该映射比破坏路径分辨率的映射更精确。所以:

    paths: {
        backbone: 'path/to/backbone',
        underscore: 'path/to/underscore',
        'backbone/models': 'backbone/models'
    }
    

    很遗憾,如果您需要在backbone/ 下覆盖其他子目录,则必须为每个子目录添加一个新路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多