警告:试图加载角度不止一次.当我包含JQuery时

Agu*_*pez 10 angularjs bower yeoman-generator-angular

我正在用角度发生器构建一个自耕农应用程序.

我的index.html文件中包含的js库是:

<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/modernizr/modernizr.js"></script>
<script src="bower_components/angular/angular.js"></script>   
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/d3/d3.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>
Run Code Online (Sandbox Code Playgroud)

只有角度之前包含jquery时才会出现问题,如果它在它之后就不会发生.

标题所述的问题是我在控制台中得到"警告:尝试多次加载角度"并且应用程序无法初始化.

有没有人有任何线索为什么会发生这种情况?

我有一个ng-app,我只包括一次角度......以及一切.它看起来不像是与配置相关的东西,因为更改脚本的位置会修复它.

你们有什么线索吗?

有谁知道我是否能够配置包含脚本的顺序?当我使用角度生成器时,我已经使用usemin来设置它以包含bower脚本.我想知道是否有任何方法可以指定包含脚本的顺序.

这是我项目的bower.json文件:

{
  "name": "<name>",
  "version": "0.0.0",
  "dependencies": {
    "angular": "1.2.15",
    "json3": "~3.2.6",
    "es5-shim": "~2.1.0",
    "angular-ui-router": "~0.2.10",
    "modernizr": "~2.8.1",
    "d3": "~3.4.6",
    "angular-ui-select2": "~0.0.5"
  },
  "devDependencies": {
    "angular-mocks": "1.2.15",
    "angular-scenario": "1.2.15"
  }
}
Run Code Online (Sandbox Code Playgroud)

我试图在谷歌搜索没有运气.提前致谢!

更新1:

我刚刚发现,如果我以这种方式包含脚本,则角度将不会包含两次,并且始终首先加载.

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

不是最好的解决方案,但至少现在......无论如何,我想把一切都放在凉亭内:js标签.

Agu*_*pez 25

经过长时间的测试......它最终成为我的index.html文件中的一个

<ui-view />
Run Code Online (Sandbox Code Playgroud)

由角度ui路由器使用并将其替换为此,就可以了.

<ui-view></ui-view>
Run Code Online (Sandbox Code Playgroud)

  • 那些不完全相同...查看http://stackoverflow.com/a/3558200/1049900"在HTML 5中,<foo />表示<foo>,开始标记.它不是"自动关闭标记" ". (3认同)

Jim*_*use 12

对我来说,这是在我的路线中错误地引用我的视图时发生的.

我有:

.when('/route', {
      templateUrl: 'views/myPage.html',
      controller : 'myCtrl'
})
Run Code Online (Sandbox Code Playgroud)

但我的观点被命名 views/mypage.html

错误消息不是我所期望的.我原以为缺少视图错误.

  • 哇,这花了我几个小时调试这样一个愚蠢的错误.当你有一个引用索引页面的.otherwise("/")语句时(如果没有找到url则默认路由)会发生这种情况.谢谢吉姆 (2认同)