gpt4 book ai didi

javascript - karma 提示 'Module is not available'

转载 作者:可可西里 更新时间:2023-11-01 02:01:53 25 4
gpt4 key购买 nike

直到几天前,我的单元测试运行良好,我的代码在浏览器中运行完美。然后我在添加一个名为“profile”的 stub 模块后注意到了这一点:

INFO [karma]: Karma v0.12.24 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket 7W-0vnkWZaWxYYtwFrhT with id 9336780
PhantomJS 1.9.7 (Mac OS X) ERROR
Error: [$injector:nomod] Module 'profile' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

现在,我意识到这是地球上最常见的 AngularJS 错误,而且我已经非常擅长调试它,但是我这辈子都无法解决这个问题。详情:

  • 代码在浏览器中运行没有错误。
  • Karma 以这种方式获取我的文件:

        'node_modules/angular/angular.js',
    'node_modules/angular-mocks/angular-mocks.js',
    'node_modules/angular-ui-router/release/angular-ui-router.js',
    'node_modules/angular-bootstrap/ui-bootstrap.js',
    'node_modules/angular-ui-form-validation/dist/angular-ui-form-validation.js',
    'node_modules/angular-animate/angular-animate.js',
    'client/app/**/*.js'
  • 主模块依赖于已声明的“配置文件”。

  • profile.js、profile.controller.js 和profile.controller.spec.js 是由cg-angular-fullstack 生成的 stub ,没有特殊代码。默认情况下,生成器将它们全部粘贴在主模块中,因此我将每个模块更改为“配置文件”。

我完全没有想法。如果我无法调试它,我将不得不假设我的整个应用程序设计存在缺陷并重新启动。 :(

最佳答案

不知何故,Karma 没有以正确的顺序导入文件,即使它已经好几周了。我的决议分为三个部分:

  1. 将所有模块定义从 *.js 重命名为 *.module.js。
  2. 将所有不在模块定义中的 UI Router 工作从 *.js 重命名为 *.state.js。
  3. 按以下顺序导入文件:

          'node_modules/jquery/dist/jquery.js',
    'node_modules/angular/angular.js',
    'node_modules/angular-mocks/angular-mocks.js',
    'node_modules/angular-ui-router/release/angular-ui-router.js',
    'node_modules/angular-bootstrap/ui-bootstrap.js',
    'node_modules/angular-ui-form-validation/dist/angular-ui-form-validation.js',
    'node_modules/angular-animate/angular-animate.js',

    // client files
    'client/app/app.module.js',
    'client/app/app.controller.js',
    'client/app/**/*.service.js',
    'client/app/**/*.directive.js',
    'client/app/**/*.module.js',
    'client/app/**/*.state.js',
    'client/app/**/*.controller.js',
    'client/app/**/*.spec.js'

直到那时测试才重新开始工作。

关于javascript - karma 提示 'Module is not available',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com