Итак, почитав здесь и там о MEAN, я решил сделать свое первое приложение MEAN, которое довольно маленькое, все, кажется, работает, кроме маршрутизации, чтобы сделать мое приложение одностраничным. Любая помощь приветствуется!
app.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: 'main.html',
controller: 'mainController'
})
.when('/login', {
templateUrl: 'login.html',
controller: 'authController'
})
.when('/register', {
templateUrl: 'register.html',
controller: 'authController'
});
});
Во всяком случае, я принял стандартную панель навигации
<nav class="navbar-fluid navbar-default navbar-fixed-top">
<div class="container">
<a class="navbar-brand" href="#">IoT</a>
<p class="navbar-text">IoT</p>
<p class="navbar-right navbar-text" ng-hide="authenticated"><a href="#/login">Login</a> or <a href="#/register">Register</a></p>
<p class="navbar-right navbar-text" ng-show="authenticated"><a href="#" ng-click="signout()">Logout</a></p>
<p class="navbar-right navbar-text" ng-show="authenticated">Signed in as {{current_user}}</p>
</div>
</nav>
И когда я запускаю его на локальном хосте: 3000, вместо этого я получаю адрес домашней страницы:
http://localhost:3000/#!/
где я ожидал
http://localhost:3000/#/
И когда я нажал на ссылку «зарегистрироваться», я получил адрес
http://localhost:3000/#!/#%2Fregister
где, как я ожидал
http://localhost:3000/#/register
Это нормально? Может быть, это версия Angular, которую я использовал?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular-route.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular-resource.min.js"></script>
Раньше все было нормально, но потом я убрал HTML-код и заставил главную страницу вытягивать отдельные HTML-страницы одну за другой, тогда это и произошло.