【发布时间】:2009-12-17 15:07:52
【问题描述】:
使用 dojo 工具包,在不进行实际构建的情况下,在本地测试将作为跨域执行的代码的正确方法是什么?
看起来,有三个可能的选项(每个选项都有自己的缺点):
-
使用本地(非 xd)XMLHttpRequest dojo.require
- 此选项不会真正测试 xd 行为,因为它通过 XHR 同步 dojo.require[s] js。
-
djConfig.debugAtAllCosts = true;
- 虽然此选项确实异步加载所需代码(通过“脚本”标签),但它也通过 XHR 拉入代码,解析其中的 dojo.require[s],并将它们拉入。这(使用loader_debug) 再次不是 loader_xd 所做的。 More info on this topic in a different question.
-
创建跨域构建
- 这种方法需要构建,这在我运行代码的环境中是不可能的(我们正在使用我们自己的即时构建过程,其中仅包括特定应用程序所需的 js页面。此过程不适合开发)。
因此,我的问题是:有没有办法使用 loader_xd,它不需要 xd 构建(将 xd 前缀/后缀添加到每个文件)?
第二种方式(使用 debugAtAllCosts)也让我质疑预解析 dojo.require[s] 的动机。如果 loader_xd 不会(或者说不能)预解析,为什么为测试/调试而创建的方法会这样做?
【问题讨论】: