3

我正在尝试运行

grunt build

从创建的目录中

yo angular

我通过凉亭安装了 angular-ui-bootstrap。在本地我需要添加

<script src="components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>

到我的 index.html 和

angular.module('app', ['ngResource', 'ngCookies', 'ui.bootstrap'])

到我的 app.js。但是,每次我尝试构建应用程序时,我都会收到此错误

38 at Array.forEach (native) TypeError: Cannot read property 'awesomeThings' of undefined at null。(/Users/nicholasshook/angular/pokerfund/angular_app/test/spec/controllers/main.js:20:17)

4

3 回答 3

7

如果你已经通过 bower 安装了 ui-bootstrap,你还需要更新你karma.conf.js的以使 grunt 测试通过。

ui-bootstrap-tpls.min.js在文件中添加一个条目karma.conf.js

// list of files / patterns to load in the browser
files = [
  JASMINE,
  JASMINE_ADAPTER,
  'app/components/angular/angular.js',
  'app/components/angular-mocks/angular-mocks.js',
  'app/components/angular-bootstrap/ui-bootstrap-tpls.js',
  'app/scripts/*.js',
  'app/scripts/**/*.js',
  'test/mock/**/*.js',
  'test/spec/**/*.js'
];
于 2013-06-19T21:30:33.787 回答
1

一些想法:

  1. 确认当您安装 bower 时,文件已从其存储库成功下载,并且实际上已添加到您在脚本标记中列出的位置的文件结构中,即components/angular-bootstrap/ui-bootstrap-tpls.min.js.

  2. 确认您的脚本标签的正确顺序,即您的<script src="components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>标签需要在您的<script src="scripts/app.js"></script>. 如果没有,那就可以解释为什么 app.js 找不到模块 'ui.bootstrap'。

希望其中之一对您有所帮助。我用过bower install angular-bootstrap,没有问题。

于 2013-06-12T23:26:03.273 回答
0

Alternatively, if karma.conf.js is not the culprit, verify that any new libraries you add are registered in grunt's build.config.js under vendor_files. That was my issue.

于 2013-12-25T22:07:10.793 回答