【发布时间】:2012-07-21 17:36:06
【问题描述】:
我正在研究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 网络服务器设置为从 w:/djt2 为 localhost 提供服务
我稍微更改了index.html,以调整将mymodule.js 放在js 子目录中(我在下面也删除了cmets):
<!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 位置(我也尝试将位置设置为"/",但这使它在http://mymodule.js/ 进行搜索)。
在位置 #2,前缀应该是 djt2/...
如果有人可以解释一下,或者指导我查看文档(我对学习新框架有点不知所措:-)。
【问题讨论】:
标签: javascript dojo