Я пытаюсь настроить угловой маршрутизатор.
Я следую этому руководству.
Я установил angular и angular-router с помощью Bower и перечислил их в своем html. Вроде все загружается как положено (ошибок 404 в консоли нет), так что скрипты есть:
<html>
<head>
<title>Miha Šušteršič</title>
<!-- JQUERY -->
<script src="assets/vendor/jquery/dist/jquery.min.js"></script>
<!-- FOUNDATION -->
<script src="assets/vendor/foundation-sites/dist/foundation.min.js"></script>
<!-- ANGULAR -->
<script src="assets/vendor/angular/angular.min.js"></script>
<script src="assets/vendor/angular-route/angular-route.min.js"></script>
<!-- APP -->
<script src="assets/js/app.min.js" type="text/javascript"></script>
<!-- FOUNDATION -->
<link rel="stylesheet" href="assets/vendor/foundation-sites/dist/foundation.min.css">
<!-- APP -->
<link rel="stylesheet" href="assets/css/main.css">
</head>
<body ng-app="IntroductionApp">
<!-- ANGULAR APP -->
<portfolio></portfolio>
<!-- FOUNDATION -->
<script>
$(document).foundation();
</script>
</body>
</html>
Теперь я пытаюсь настроить базовую маршрутизацию. Это мой файл app.js (который компилируется в angular.min.js):
// MAIN ANGULAR JS FILE
angular
.module('IntroductionApp', ['ngRoute'])
.config(['$locationProvider', '$routeProvider',
function config($locationProvider, $routeProvider) {
$locationProvider.hasPrefix('!');
$routeProvider.
when('/landing', {
templateUrl: 'templates/landing.html'
}).
when('/portfolio', {
templateUrl: 'templates/portfolio.html'
}).
otherwise('/landing');
}
]);
Теперь я получаю следующую ошибку в консоли:
angular.js:68 Uncaught Error: [$injector:modulerr] Не удалось создать экземпляр модуля IntroductionApp из-за: TypeError: t.hasPrefix не является функцией в http://localhost:48080/assets/js/app.min.js:1:108 в Object.invoke (http://localhost:48080/assets/vendor/angular/angular.js:4709:19) в runInvokeQueue (http://localhost:48080/assets/vendor/angular/angular.js:4602:35) по адресу http://localhost:48080/assets/vendor/angular/angular.js:4611:11 в forEach (http://localhost:48080/assets/vendor/angular/angular.js:321:20) по адресу loadModules (http://localhost:48080/assets/vendor/angular/angular.js:4592:5) в createInjector (http://localhost:48080/assets/vendor/angular/angular.js:4514:19) в doBootstrap (http://localhost:48080/assets/vendor/angular/angular.js:1751).:20) при загрузке (http://localhost:48080/assets/vendor/angular/angular.js:1772:12) в angularInit ( http://localhost:48080/assets/vendor/angular/angular.js:1657:5) http://errors.angularjs.org/1.5.7/$инжектор/м odulerr?p0=IntroductionApp&p1=…2F%2Flocalhost%3A48080%2Fassets%2Fvendor%2Fangular%2Fangular.js%3A1657%3A5)
Что я делаю не так?
angular.js
, а неangular.min.js
, чтобы устранить эту проблему, поскольку уменьшенная версия не дает четких сообщений об ошибках. Кроме того, иногда вы можете обнаружить ошибки внедрения зависимостей, добавивng-strict-di
к элементу, на котором находится вашng-app
. - person Claies   schedule 20.06.2016