requirejs - 如何从插件中获取“baseUrl”信息?

时间:2011-02-28 00:09:34

标签: javascript requirejs

我正在构建requirejs插件并将其加载到我的页面上。但是,在我的页面上,我设置了一个baseUrl值,这样我就可以加载像“tools / foo”这样的路径的插件,而不是“/ static / js / blah / tools / foo”

但是现在我想允许插件加载css文件。我想通过添加标题的链接来完成此操作,而不是使用“text!foo.css”加载css内容。我也不想指定css文件的完全限定路径。有没有办法让我从requirejs插件中提取我在页面上设置的baseUrl设置,以便我可以使用它来帮助查找我的css文件?

1 个答案:

答案 0 :(得分:7)

load函数的parentRequire参数有一个parentRequire.toUrl()方法,该方法将解析任何路径,就像它是模块名称一样,但具有扩展名。所以:

var cssPath = parentRequire.toUrl('tools/foo.css');

将返回类似/static/js/blah/tools/foo.css的路径。

看起来我忘了将其添加到plugins doc页面,我将完成任务以记录下来。