angular1 - 未捕获错误$ injector:modulerr;角路由器

时间:2016-06-20 14:32:21

标签: javascript angularjs ngroute angularjs-ng-route

我正在尝试设置角度路由器。

我正在关注this教程。

我已经使用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未捕获错误:[$ injector:modulerr]失败   实例化模块IntroductionApp由于:TypeError:t.hasPrefix是   不是一个功能       在http://localhost:48080/assets/js/app.min.js:1:108       at Object.invoke(http://localhost:48080/assets/vendor/angular/angular.js:4709:19)       at runInvokeQueue(http://localhost:48080/assets/vendor/angular/angular.js:4602:35)       在http://localhost:48080/assets/vendor/angular/angular.js:4611:11       at 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)       at doBootstrap(http://localhost:48080/assets/vendor/angular/angular.js:1751:20)       在bootstrap(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/ $注射器/ modulerr P0 = IntroductionApp&安培; P1 = ... 2F%2Flocalhost%3A48080%2Fassets%2Fvendor%2Fangular%2Fangular.js%3A1657%3A5)

我做错了什么?

1 个答案:

答案 0 :(得分:2)

它的错字

$locationProvider.hasPrefix('!');

应该是

$locationProvider.hashPrefix('!');