8
votes

I try to use angular ui-router in my web app but I have problem. Here is the app directory:

  test-app
  |_ bower-component
  |_ app
     |_ views
     |_ index.html
     |_ scripts
        |_ app.js 

and in app.js:

angular
  .module('testApp', [
    'ngAnimate',
    'ngAria',
    'ngCookies',
    'ngMessages',
    'ngResource',
    'ui.router',
    'ngSanitize',
    'ngTouch'
  ])
  .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');  
    $stateProvider
      .state('home',{
        url: '/',
        templateUrl: 'index.html',
        controller: 'MainCtrl'
      })
   .
   .
   .

But when I run the app, I get this error on console:

WARNING: Tried to load angular more than once
2
You want your template to be a partial and not the index.Dylan
Sorry I can't understand what you say !Hamid
You want - templateUrl: 'home.html'Dylan

2 Answers

11
votes

Your webserver loads the index.html file, but then you load it again in the view with

templateUrl: 'index.html'

So I think you intended that to be a different template. What you have here causes the index HTML file to be loaded inside itself, including the angular script tags, causing that error.

0
votes

Using reqire('./path/angular.min.js') will solve any problem related to loading it more then once.