Базовый тег Angularjs и $locationProvider предотвращает загрузку шаблонов
Я хочу удалить #
на английском языке URL. Так что я следил за этим блогом.
Это мое .config()
:
.config(['$stateProvider', '$locationProvider' function($stateProvider, $locationProvider,) {
$stateProvider.state('main', {
url: '/',
templateUrl: 'path/to/main.html',
controller:'mainCtrl'
})
$locationProvider.html5Mode(true);
}])
А это мой <header>
:
<head>
<scripts>....
<base href="/"> // I ADDED THIS
</head>
Но когда я получаю доступ к /
ссылка на сайт. Как это http://localhost/my-app/
это показывает только пустую страницу. На консоли нет ошибок / с, поэтому я предполагаю, что проблема заключается в загрузке шаблона. Я использую ui.router
, Кто-то сталкивался с этой проблемой? Благодарю.
1 ответ
1-й, когда вы используете <base href="/">
Вы можете установить ВСЕ относительные URL-адреса, добавленные к этому пути. Так что если ваше приложение доступно в /my-app/
использование <base href="/my-app/">
Также вы можете попробовать относительную базу HREF <base href="./">
, но я не рекомендую это. Теперь ваше приложение в http://localhost/my-app/
но база http://localhost/
2-й Когда вы используете маршрутизацию html5, вы можете убедиться, что веб-сервер не отвечает на другую страницу, но ваш index.html
В-третьих, после этого проверьте свой JS, может быть, не могу загрузить шаблон из-за базовой URL-адреса...