首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么会被绞死?

为什么会被绞死?
EN

Stack Overflow用户
提问于 2014-10-15 11:07:49
回答 1查看 401关注 0票数 1

我要求这是为了后代,因为我花了一些时间才弄清楚这件事。

我有一个应用程序,它使用require.js和基于茉莉花的测试,通过咕噜自动实现。

我已经将模块分组到逻辑组件中,每个组件都位于app下的一个目录中。我的requirejs.config()调用为以下组件设置了路径前缀:

代码语言:javascript
复制
paths: {
    /*... vendor libraries are listed here ...*/
    ui: 'app/ui',
    data: 'app/data',
    /* etc */
}

然后,我可以指定这些模块的依赖项,如下所示:

代码语言:javascript
复制
define([ 'ui/some/module', 'data/another/module' ], function(ui_module, data_module) {
    /* code for module being defined goes here */
});

我的应用程序工作正常,我的测试通过了基于web的运行程序,它遵循与我在应用程序中使用的结构类似的结构,它是文档正文中指向require.js的单个require.js元素,data-main设置为test/index,其中包含一个非常相似的requirejs.config()调用,只包含测试本身的附加路径,以及对window.onload()的调用,后者运行测试。

但是,当我使用grunt-contrib-jasmine时,测试会挂起,不会运行测试。我得到的信息是:

代码语言:javascript
复制
>> Error: timeout: Load timeout for modules: [list of modules, all my own application modules]
>> http://requirejs.org/docs/errors.html#timeout at
>> http:/127.0.0.1:8000/_SpecRunner.html:21 
>> http:/127.0.0.1:8000/.grunt/grunt-contrib-jasmine/require.js:12 v
>> http:/127.0.0.1:8000/.grunt/grunt-contrib-jasmine/require.js:14 C
>> http:/127.0.0.1:8000/.grunt/grunt-contrib-jasmine/require.js:14 

怎样才能让我的考试顺利通过?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-15 11:11:06

原来,我的requirejs.config()调用中的路径前缀应该包含一个尾随斜杠:

代码语言:javascript
复制
paths: {
    /*... vendor libraries are listed here ...*/
    ui: 'app/ui/',
    data: 'app/data/',
    /* etc */
}

所以,'app/ui/'而不是'app/ui'

我仍然不确定造成这种情况的根本原因,因为这两个版本都可以在浏览器中工作;也许这是一个不同版本的require.js正在被普通任务使用,或者它是幻影特有的。

留下这个问题和答案,这样可以节省一些时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26381030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档