0

我一直在为使用实习生 1.1 的实习生设置推荐的目录结构而苦苦挣扎。我注意到从 1.0 到 1.1 的更改会影响实习生目录的位置。

我注意到实习生包的依赖项包括dojo,但似乎是指dojo v2:“dojo”:“git+ https://github.com/csnover/dojo2-core.git#1a7d8fa ”我不确定为什么会这样因为 v2 还没有出来。

我已经挣扎了好几天才能获得一个非常简单的测试文件来运行但没有成功。我的层次结构是这样的:

web/ (root)
    node_modules/
        intern/
    tests/
        FilterGridTest.js
        intern.js
    libs/
        dojo/
        dijit/
        dgrid/
        ....
        ev/
            grids/
                FilterGrid.js (file being tested)

我的 FilterGridTest.js 文件的上半部分是:

define([
    'intern!object',
    'intern/chai!assert',
    'intern/chai!expect',
   'ev/grids/FilterGrid'
], function (registerSuite, assert, expect, FilterGrid) {
    registerSuite({
        name: 'FilterGrid Test',
    ...

我尝试了各种修改,要么实习生无法加载测试文件,要么出现循环依赖错误:

Circular dependency: *5 -> tests/FilterGridTest -> ev/grids/FilterGrid -> dojo/dom-construct -> dojo/dom-attr -> dojo/dom-prop -> dojo/dom-construct

我的 intern.js 文件有这个 loader 属性:

loader: {
    //baseUrl: 'libs/',
    // Packages that should be registered with the loader in each testing environment
    packages: [
        { name: 'dojo', location: 'libs/dojo' },
        { name: 'dijit', location: 'libs/dijit' },
        { name: 'dgrid', location: 'libs/dgrid' },
        { name: 'put-selector', location: 'libs/put-selector' },
        { name: 'xstyle', location: 'libs/xstyle' },
        { name: 'ev', location: 'libs/ev' },
        { name: 'web', location: '.'}
    ]
},

其中 web 是我的网络根目录,并且有一个 package.json 文件。

我不知道是什么导致了这个错误或如何解决它。

4

1 回答 1

1

循环依赖通知不是错误。您正在使用的 Dojo 1 具有正确处理的循环依赖关系。Dojo 1 的 AMD 加载器也将报告循环依赖关系,但默认情况下禁用此功能,而 Intern 使用的加载器默认启用此功能。

于 2013-06-26T21:44:05.897 回答