我正在使用带有karma和jasmine的requireJS来测试Dojo代码。
正如我们所知,require会在每个文件中引入所有依赖项,这很好,但是当任何文件都有语言文件(例如dojox / date / buddhist.js)作为依赖项时,我会收到脚本错误。
语言文件的布局如下:
define([
"..",
"dojo/_base/lang",
"dojo/date",
"./buddhist/Date"
], function(
dojox,
lang,
dd,
BDate
) { /* etc etc */
参考例如"dojo/_base/lang"
这很容易映射到文件,但是,注意到dojox的映射是".."
,它实际上返回到目录而不是单个文件。
这是我在浏览器的终端或控制台中遇到的错误:
错误:“dojox”的脚本错误,需要:dojox / date / buddhist,dojox / date / buddhist / locale,dojox / date / hebrew,dojox / date / hebrew / locale,dojox / date / islamic,dojox /日期/伊斯兰/区域设置 http://requirejs.org/docs/errors.html#scripterror
我已经尝试在我的test-main文件中定义dojox但是同样的错误。
所以我需要做的是模拟dojox,有没有解决方法呢?
答案 0 :(得分:0)
我通过更改dojox日期文件来引用实际文件来修复此问题:
将".."
更改为"dojox/main"
并映射到该文件。
我在实际的dojo文件中更改了这个,因为我在我的测试项目中使用它们的副本,不确定这是否可以在生产中使用但我认为它似乎dojo也在以后的版本中切换到了这个。 / p>