我可以获取RequireJS依赖映射到的URL吗?

时间:2017-04-19 12:22:31

标签: javascript requirejs

我可以将RequireJS依赖地址映射到?

var foo = require('my-dependency');

我知道我的依赖性是从http://localhost/version/my-dependency.js中提取的。 RequireJS是否公开API以获取此值?

1 个答案:

答案 0 :(得分:1)

您可以使用require.toUrl("my-dependency")获取与当前模块 relative 的网址。例如,这应该输出一个相对URL:

define(function (require) {
  console.log(require.toUrl("my-dependency"));
});

您需要使用本地require,以便RequireJS知道从哪个模块调用它。 (上面不需要依赖列表。如果你没有传递列表,RequireJS使用["要求","模块",&#34]的依赖列表;出口"。])

我不知道获取绝对网址的单步方法,但如果您需要绝对网址,则可以将module.uri提供的网址与require.toUrl的返回值结合起来:

define(function (require, module) {
  console.log(join(module.uri, require.toUrl("my-dependency")));
});

join是一个能够加入网址的功能。您可以使用URI.js,其他一些库,也可以自己编写。)