【问题标题】:AngularJS & Jasmine/Karma - Uncaught ReferenceError: require is not definedAngularJS 和 Jasmine/Karma - 未捕获的 ReferenceError:未定义要求
【发布时间】:2015-09-03 22:29:32
【问题描述】:

我正在尝试使用 Jasmine-Karma 测试 Angular 应用程序。我是“测试/控制台/npm”领域的新手,所以我想请你简单解释一下(以及一些修复)是什么导致了错误

未捕获的引用错误:要求未定义在 /Applications/MAMP/htdocs/..../node_modules/angular-mocks/ngAnimateMock.js:1

我还发现 angular-mocks 文件夹中没有 ngAnimateMock.js。

这是我的 karma.conf.js 文件

module.exports = function(config) {
  config.set({

    basePath: '',
    frameworks: ['jasmine'],

    files: [
      'public/vendor/angular/angular.js',
      'node_modules/angular-mocks/*.js',
      'public/vendor/traceur/bin/traceur.js',
      'public/js/*.js',
      'test/spec/spec.js',
    ],

    exclude: [
    ],

    preprocessors: {
    },

    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

【问题讨论】:

标签: angularjs npm karma-jasmine


【解决方案1】:

您可能需要将配置更改为类似的内容

frameworks: ['require', 'jasmine'],

【讨论】:

    【解决方案2】:

    小心在你的 karma 配置中包含 *,因为你只想包含你需要的 JavaScript 文件,而不是目录中的所有内容。

    而不是在您的包含中 node_modules/angular-mocks/.js*

    试试 node_modules//angular-mocks/angular-mocks.js

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 2012-12-16
      • 1970-01-01
      • 2015-11-14
      相关资源
      最近更新 更多