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

时间:2014-06-23 21:48:33

标签: angularjs yeoman angular-ui-router bower

我一直收到这个错误:

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

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

该项目是由Yeoman创建的,并使用Bower来管理依赖项,Grunt可以构建所有内容。

yeoman角度生成器创建了带有基本ngRouter的样板,所以我用

安装了ui.router
bower install angular-ui-router --save

Angular Version

1.2.16

Bower文件

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

"angular-ui-router": "~0.2.10"

app模块设置

我通过添加对 ui.route 的依赖来更新 app.js 文件(除了各种其他依赖项)     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 -->

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

修改

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

2 个答案:

答案 0 :(得分:5)

我是愚蠢的。找到this link的答案。在cmd行上运行grunt时,它不仅可以构建和检查错误,还可以运行测试(使用我还不了解的业力)。

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

<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'
    ],

答案 1 :(得分:0)

通过此链接,您将获得使用ui router

使用angular.js的完整结构

Github Repository