我想在我的小部件中显示默认图像。指向位于小部件文件夹结构内的图像的最佳解决方案是什么?
require.toUrl("widgets.notes", "images/defaultAvatar.png"),
输出是:
htpp://www.example.com/widgets/main.notes 404(未找到)
我想在我的小部件中显示默认图像。指向位于小部件文件夹结构内的图像的最佳解决方案是什么?
require.toUrl("widgets.notes", "images/defaultAvatar.png"),
输出是:
htpp://www.example.com/widgets/main.notes 404(未找到)
您的调用require.toUrl
是虚假的,没有采用第二个参数。
鉴于您设置了“小部件”的模块路径,请改为执行以下操作:
require.toUrl("widgets/notes/images/defaultAvatar.png")
如果您只发送包命名空间(例如“小部件”),它将尝试使用CommonJS 包规范。您会在其中一项信息中注意到标准的最低要求是:
这就是require.toUrl("widgets")
解释。
然而,人们可以选择应该在哪里寻找包“根”。所以,如果你有:
/
dojo/
dijit/
dojox/
widgets/
然后你从一开始就没有交互,'widgets' 是一个全局命名空间 pr 定义。如果它不是“就地”,这就是dojo.registerModulePath
(作为 pr 1.7 已弃用)派上用场的地方,请参阅参考指南
如果您将其设置为另一个路径(xdomain 变得非常复杂,但是接受绝对路径),那么您将在此处执行以下两个选项之一:
首先是包的示例布局:
/ (webroot)
/dojo/
dojo-release-x.y/
dojo/
dijit/
dojox/
/widgets/
选项一是 dojoConfig,window.dojoConfig
在加载 dojo.js 脚本标签之前设置
var dojoConfig = {
packages: [
{
name: "widgets",
location: "/widgets" // note, 'http://mydomain.tld/widget' would work
}
]
};
选项二是作为附加的第一个参数require
,如下所示:
require({
packages: [
{
name: "widgets",
location: "/widgets"
}
]
}, ["widgets/notes"], function(Notes) {
...
});
看看这个对我有用
头像:require.toUrl("widgets/MyFirstWidget/widget/images/edwin.jpg")
在括号中以单词 widgets 开头,然后是正斜杠,然后是资源的完整 url。以上面的示例为例,MyFirstWidget 是小部件的名称,而 images 是我在小部件中创建的用于存储图像文件的文件夹