Dojo中的包定位是如何工作的
How does package location work in Dojo?
我正在http://dojotoolkit.org/documentation/tutorials/1.7/hello_dojo/demo/module.html我创建了如下的目录结构
w:/djt2/index.html
w:/djt2/js/mymodule.js (exact copy of http://dojotoolkit.org/documentation/tutorials/1.7/hello_dojo/demo/myModule.js)
然后,我将Tinyweb web服务器设置为从w:/djt2 为localhost提供服务
我对index.html
做了一点更改,以便将mymodule.js
放入js
子目录中(我也删除了下面的注释):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial: Hello Dojo!</title>
<script>
var dojoConfig = {
async: true,
packages: [{
name: "djt2",
location: '/js' /* Location #1 */
}]
};
</script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js"></script>
</head>
<body>
<h1 id="greeting">Hello</h1>
<script>
require(["djt2/mymodule"], function(myModule){ /* Location #2 */
myModule.setText("greeting", "Hello Dojo!");
setTimeout(function(){
myModule.restoreText("greeting");
}, 3000);
});
</script>
</body>
</html>
这是有效的,但我不完全确定我是否理解为什么。。。特别是,在位置#1处,原始文件具有location.pathname.replace(/'/[^/]+$/, '')
,其计算结果为空字符串,并使加载程序在CDN位置查找mymodule.js(我也尝试将位置设置为"/"
,但这使它在http://mymodule.js/
处进行搜索)。
在位置#2,前缀应该是djt2/
有点神秘。。。
如果有人能解释一下,或者指导我查看文档(我对学习一个新框架有点不知所措:-)。
在结构中添加一个额外的djt2
目录
w:/djt2/js/djt2/mymodule.js
在配置中设置baseUrl。
var dojoConfig = {
async: true,
baseUrl: '/js'
packages: [{
name: "djt2",
location: 'djt2'
}]
};
设置baseUrl将告诉dojo在哪里查找自定义模块。作为包一部分的位置相对于baseUrl。
我总是把模块/包看作是名称映射。为了用一个额外的包来扩展您的示例,它看起来如下:
w:/djt2/js/another/anotherModule.js
var dojoConfig = {
async: true,
baseUrl: '/js'
packages: [{
name: "djt2",
location: 'djt2'
}, {
name: "another",
location: 'another'
}]
};
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- 在JavaScript中的类中,push和concat的工作方式有何不同