如何在AngularJS项目中包含ui.router?

Cab*_*cks 7 angularjs yeoman bower angular-ui-router

我一直收到这个错误:

`错误:[$ injector:nomod]模块'ui.router'不可用!您要么错误拼写了模块名称,要么忘记加载它.

但我很确定我已正确配置所有内容

该项目是由Yeoman创建的,并使用Bower来管理依赖项,Grunt构建了所有项目.

yeoman角度生成器创建了带有基本ngRouter的样板,所以我安装了ui.router

bower install angular-ui-router --save
Run Code Online (Sandbox Code Playgroud)

角度版本

1.2.16
Run Code Online (Sandbox Code Playgroud)

凉亭文件

上面的行在依赖项列表中使用此行更新了bower.json文件:

"angular-ui-router": "~0.2.10"
Run Code Online (Sandbox Code Playgroud)

app模块设置

我更新了app.js文件,添加了对ui.route的依赖(除了各种其他依赖项)angular.module('app',['ngRoute',...'ui.router'])

的index.html

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
...
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<!-- endbower -->
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)

我在上面的目录中有上面的文件,我很肯定它就在那里(我复制并粘贴路径以避免拼写错误).我也尝试了缩小版本没有区别.

编辑

我对所有这些都非常非常新(角度,凉亭,自耕农等)所以我很可能这样做是错的,所以我不再需要包含ui.router依赖吗?我的意思是,它是否已经以某种方式集成到核心角度框架?ui.router被弃用了吗?

Cab*_*cks 5

我很笨 从这个链接找到答案.当grunt在cmd行上运行时,它被配置为不仅构建和检查错误,而且还运行测试(使用我还不了解的业力).

所以需要改变的是业力配置文件:

<project root>/test/karma.conf.js

下面,缩进的行是我需要添加的:

// list of files / patterns to load in the browser
    files: [
      'bower_components/angular/angular.js',
      'bower_components/angular-mocks/angular-mocks.js',
      'bower_components/angular-animate/angular-animate.js',
      'bower_components/angular-cookies/angular-cookies.js',
      'bower_components/angular-resource/angular-resource.js',
      'bower_components/angular-route/angular-route.js',
      'bower_components/angular-sanitize/angular-sanitize.js',
      'bower_components/angular-touch/angular-touch.js',
         'bower_components/angular-ui-router/release/angular-ui-router.js',
      'app/scripts/**/*.js',
      'test/mock/**/*.js',
      'test/spec/**/*.js'
    ],
Run Code Online (Sandbox Code Playgroud)