我正在构建requirejs插件并将其加载到我的页面上。但是,在我的页面上,我设置了一个baseUrl值,这样我就可以加载像“tools / foo”这样的路径的插件,而不是“/ static / js / blah / tools / foo”
但是现在我想允许插件加载css文件。我想通过添加标题的链接来完成此操作,而不是使用“text!foo.css”加载css内容。我也不想指定css文件的完全限定路径。有没有办法让我从requirejs插件中提取我在页面上设置的baseUrl设置,以便我可以使用它来帮助查找我的css文件?
答案 0 :(得分:7)
load函数的parentRequire参数有一个parentRequire.toUrl()方法,该方法将解析任何路径,就像它是模块名称一样,但具有扩展名。所以:
var cssPath = parentRequire.toUrl('tools/foo.css');
将返回类似/static/js/blah/tools/foo.css的路径。
看起来我忘了将其添加到plugins doc页面,我将完成任务以记录下来。