我正在研究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
(我在下面也删除了评论):
<!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/
……有点神秘。
如果有人可以解释它,或者将我引导到文档(我对学习新框架有点不知所措:-)。