2016-11-12 3 views
0

У меня есть приложение с простым угловым изображением, и я считаю, что я не настроил маршрутизацию правильно, потому что в браузере URL выглядит странно. Например, когда я обращаюсь к странице index.html, это URL: http://localhost:8082/basic-web-app/app/index.html#/, и когда я перехожу к другим страницам в приложении, он добавляет местоположение после index.html # /: http://localhost:8082/basic-web-app/app/index.html#/login. Каждый пример, который я проверил, был без index.html и добавлял место как http://localhost:8082/basic-web-app/app/ и http://localhost:8082/basic-web-app/app/login Моя маршрутизация:проблема с угловым маршрутом - appends index.html

coursesApp.config(function($routeProvider, $httpProvider) { 
    $routeProvider 

    // route for the home page 
    .when('/', { 
     templateUrl: 'pages/home.html', 
     controller: 'mainController', 
     controllerAs: 'controller' 
    }) 

    // route for the courses page 
    .when('/courses', { 
     templateUrl: 'pages/courses.html', 
     controller: 'coursesController' 
    }) 

    // route for the courses page 
    .when('/login', { 
     templateUrl: 'pages/login.html', 
     controller: 'loginController', 
     controllerAs: 'controller' 
    }) 

    .when('/profile', { 
     templateUrl: 'pages/profile.html', 
     controller: 'profileController' 
    }); 

    $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; 
}); 

спасибо!

+1

ваш 'index.html' должен быть вне папки приложения. затем запустите свое приложение как «http: // localhost: 8082/basic-web-app/app» – Sravan

+0

Вы имеете в виду в папке webapp? – skywalker

+0

Я поместил его вне папки приложения еще один пустой файл index.html, и я могу загрузить его с помощью http: // localhost: 8082/basic-web-app/app. Интересная часть состоит в том, что не загружается пустой index.html, а мой. Есть идеи? – skywalker

ответ

1

Проблема заключается в структуре вашей папки.

index.html должен быть вне папки app.

Index.html живет в корневой структуре интерфейса. Файл index.html будет в основном обрабатывать загрузку во всех библиотеках и угловых элементах.

Ниже приведен пример структуры папок,

app/ 
----- controllers/ 
---------- mainController.js 
---------- otherController.js 
----- directives/ 
---------- mainDirective.js 
---------- otherDirective.js 
----- services/ 
---------- userService.js 
---------- itemService.js 
----- js/ 
---------- bootstrap.js 
---------- jquery.js 
----- app.js 

views/ 
----- mainView.html 
----- otherView.html 

index.html 

Вот некоторые ссылки для вашей структуры папок:

https://johnpapa.net/angular-growth-structure/

https://scotch.io/tutorials/angularjs-best-practices-directory-structure

+0

@skywalker. Приятно слышать вашу проблему. Я добавил в качестве ответа, вы можете проголосовать и принять, если вы сочтете это полезным. – Sravan

0

Если бы я получил свой вопрос прямо, то:

Там нет ничего плохого в том, что вы сделали. Каждая структура приложений с одной страницей (одна из которых является AngularJS) использует хеш - # - разумно, чтобы пользователь оставался на одной странице. Пока ваши представления визуализируются так, как вам нужно, это выглядит хорошо.

Смежные вопросы