0

如果我不将 Dojo 本地安装到我的项目中,我正在尝试研究如何使用 DOH 来测试 Dojo 模块。我在 Eclipse 中工作,理想情况下,我想要一些最终可以作为 Maven 构建的一部分运行的东西。Dojo 包大小为 5-20Mb,如果可能的话,我不想将它与每个项目一起存放在我的源代码控制系统中。

我已经使用 runner.html 测试运行器尝试了一些选项,但是 DOH 需要在某个地方找到一个 Dojo,然后似乎会找到与该安装相关的模块。

将 Dojo 安装在我的系统上但未安装在项目中会给我在尝试查找相对于 dojo.js 文件位置的项目时遇到问题。跨域保护阻止我提供任何类型的绝对路径,因为它会剥离:字符。它还阻止我使用通过 http 在不同域上提供的 Dojo 安装。

是否有必要在某个地方安装 Dojo,然后我可以定义从 dojo.js 到模块根目录的相对路径?如果没有,我该如何配置才能绕过它?

4

2 回答 2

1

I've not tried this completely cross domain, but yes, you can define paths which may be enough to get you going.

We run our tests using a somewhat complicated deployment (to ensure we don't introduce accidental dojo/doh path dependencies), and our URL looks like this:

http://server/XXX/dev/dohpath/util/doh/runner.html?boot=../../../dojo/dojo.js&dojoUrl=../../../dojo/dojo.js&paths=doh,../dohpath/util/doh;mymodule,../../mymodule&testModule=full.test.module

That is, you fire up the runner, give it both 'boot' and 'dojoUrl' to tell it where Dojo itself lives, use 'paths' to tell DOH where it lives and how to find your own modules.

blech

Whether those relative paths can be made absolute successfuly, and whether it'll work cross-domain is an entirely different matter, I'm afraid. We'll be hitting that problem ourselves in a couple of months.

于 2012-07-04T09:56:07.077 回答
0

我已经能够使用位于http://archive.dojotoolkit.org/nightly/checkout/util/doh/runner.html的跑步者和要点来做到这一点。

诀窍似乎是在 URL 中使用路径别名,并使用网络路径引用 URL(即省略 URL 方案,URL 以 开头//)。

我在没有本地 DOH 副本的情况下尝试回答这个问题时发现了这一点。

这里是:

http://archive.dojotoolkit.org/nightly/checkout/util/doh/runner.html?testModule=aa&paths=aa,//gist.github.com/gitgrimbo/5406688/raw/e6bc4469ce72dfd6d50e61e885889cb915a3f66b/gistfile1

于 2013-04-17T19:34:53.787 回答