Angular-route: TypeError: undefined不是一个对象(求值'angular.mod

Angular-route: TypeError: undefined is not an object (evaluating 'angular.module')

本文关键字:angular mod 求值 一个对象 undefined TypeError Angular-route      更新时间:2023-09-26

我正在构建我的Angular应用,使用require.js、Angular .js和Angular -route.js。

我的main.js如下:

require.config({
  // alias libraries paths
  paths: {
    'angular': 'libs/angular',
    'domReady': 'libs/domReady',
    'angularRoute': 'libs/angular-route'
  },
// angular does not support AMD out of the box, put it in a shim
 shim: {
    'angular' : {'exports' : 'angular'},
 },
// kick start application
   deps: ['./bootstrap/bootstrap',
          './libs/angular-route',
          './libs/bootstrap'
         ]
});

我还是得到了这个奇怪的错误:

[Error] TypeError: undefined不是一个对象(求值'angular.module')(angular-route.js,第24行)全局代码(angular-route.js,第992行)

有人知道我怎么能解决这个问题吗?

非常感谢!

你还需要在dependency中添加angular js。

更新

deps: ['./bootstrap/bootstrap',
          './libs/angular-route',
          './libs/bootstrap'
         ]

deps: ['./bootstrap/bootstrap',
          'angular', // add require dependency of angular
          'angularRoute', // use path as set in require config
          './libs/bootstrap'
         ]

我最终解决了这个问题:

paths: {
    'angular'  : './libs/angular',
    'domReady' : './libs/domReady',
    'jQuery'   : './libs/jquery',
    'uiRouter' : './libs/angular-ui-router',
    'bootstrap': './libs/bootstrap'
},
// angular does not support AMD out of the box, put it in a shim
shim: {
  'angular': {
      exports: 'angular',
      deps: ['jQuery']
  },
  'uiRouter': {
      deps: ['angular']
  },
  'bootstrap': {
      deps: ['angular']
  },
 },
});
require(['./bootstrap']);

我使用了一个Yeoman脚手架来引导我的项目,并且发现karma文件默认不包括浏览器测试中的单个文件。

为我修复了这个问题:

{pattern: 'bower_components/angular/angular.js', included: true },
{pattern: 'bower_components/angular-ui-router/release/angular-ui-router.js', included: false },