业力错误:无法找到变量:angular

时间:2017-06-21 17:27:40

标签: javascript angularjs npm jasmine karma-runner

我试图在一个项目中运行一周的业力。我已按照本教程AngularJS Unit Test进行操作,但在运行 karma start 时,控制台会显示此错误:

PhantomJS 2.1.1 (Linux 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /home/user/workspace/UnitTest/app/app.js:1

我认为问题出现在我的项目中,所以我创建了一个新问题并且错误仍然存​​在。

我的 karma.conf.js

module.exports = function(config) {
config.set({
   basePath: '',
  frameworks: ['jasmine'],
files: [
  'app/*.js', 
  'tests/*.js',
  'node_modules/angular/angular.js', 
  'node_modules/angular/angular.min.js',
  'node_modules/angular-mocks/angular-mocks.js'
],

exclude: [
],

preprocessors: {
},
reporters: ['progress'],

// web server port
port: 9876,

colors: true,

logLevel: config.LOG_INFO,

autoWatch: true,

browsers: ['PhantomJS'], 

customLaunchers: {
  Chrome_without_security: {
    base: 'PhantomJS',
    flags: ['--disable-web-security']
  }
},

singleRun: false,

concurrency: Infinity
})
}

app.js

angular.module('MyApp', [])
  .filter('reverse',[function(){
    return function(string){
    return string.split('').reverse().join('');
   }
}])

我也试图更改节点版本,但它没有工作。

1 个答案:

答案 0 :(得分:4)

解决方案是将角度导入放在app文件之前,如下所示:

files: [
  'node_modules/angular/angular.js', 
  'node_modules/angular/angular.min.js',
  'node_modules/angular-mocks/angular-mocks.js',
  'app/*.js', 
  'tests/*.js'
]