我有地方,我需要一个相对路径我dojo/text
模板类似的问题。例如
/foo
/js
/stuff
SomeWidget.js
/templates
/MyTemplateForSomeWidget.html
事实证明,你应该给“模块路径”,而不是“哑URL”,因此这不会工作:
"dojo/text!../../templates/MyTemplateForSomeWidget.html"
它给你很大的错误IrrationalPath
(没有解释)。原来你不允许使用“../
”,所以它吓坏了。当然你也可以使用绝对路径,通过与/
开始,但在我的情况下,整个路径不保,所以我周围的问题得到了由我dojoConfig
注册路径,像这样
dojoConfig = {
// ...
packages: [
{ name: 'app', location: '/foo/js/app' },
{ name: 'templatePkg', location: '/foo/templates/' },
// ... etc
}
}
然后,只需指templatePkg
作为模板路径的开始,像这样:
"dojo/text!templatePkg/MyTemplateForSomeWidget.html"
“硬的部分”对我来说是让周围的想法,“包”必须是JavaScript的来源,并认为其他人可能会有相同的误解。
希望这会有所帮助。 G.
有没有什么方法可以直接从模板中做到这一点? – Alpha
我不这么认为,但是你可以把'require.toUrl(...)'放在一个属性中,然后使用''。这也应该起作用,但是你总是会有这一行代码检索你的图片URL。 – g00glen00b