我对道场很新。尝试文档中给出的基本示例。这是我的代码
<body>
<h1 id="greeting">Hello</h1>
<!-- configure Dojo -->
<script>
var dojoConfig = {
async: true
}
</script>
<!-- load Dojo -->
<script src="/public/dojo.js"></script>
<script>
require([
'dojo/fx',
'dojo/dom',
'dojo/domReady!'
], function (fx, dom) {
// The piece we had before...
var greeting = dom.byId('greeting');
greeting.innerHTML += ' from Dojo!';
// ...but now, with an animation!
fx.slideTo({
node: greeting,
top: 100,
left: 200
}).play();
});
</script>
</body>
我正在使用节点服务器来提供静态资产。弹出错误是
获取http://localhost:3000/public/fx.js net :: ERR_ABORTED
我无法弄清楚为什么在这里寻找一个单独的文件fx.js?
如果我将该行更改为此
require([
'dojo/_base/fx',
'dojo/dom',
'dojo/domReady!'
]
这次它没有从_base / fx.js中找到单独的文件。
请帮我解决这个问题。
修改
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js" data-dojo-config="async: true"></script>
如果我从cdn引用它的工作,而不是从本地服务。
答案 0 :(得分:1)
我弄明白了原因,
如果我需要fx模块
require([
'dojo/fx',
'dojo/dom',
'dojo/dom-construct',
'dojo/domReady!'
]
使用此cdn链接
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
当我看到网络请求时,脚本会在内部触发对此URL的请求
http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/fx.js
所以它没有任何错误。在我的本地设置中,文件(fx.js)丢失了。所以发生错误。因为在示例中只提到了一个指向dojo.js的URL链接,我只下载了该文件而错过了放入此fx.js文件。