Angular 1.3.8路由无法正常工作

时间:2016-12-17 23:32:41

标签: angularjs angular-routing

我正在关注一本名为MEAN Machine的书。可以在this Github Repo找到本书中相应部分的代码。

点击/public/views/index.html中应该路由的链接时,我会在网络浏览器中看到找不到文件错误。

似乎不起作用的代码(/public/js/app.routes.js):

// inject ngRoute for all our routing needs
angular.module('routerRoutes', ['ngRoute'])

// configure our routes
.config(function($routeProvider, $locationProvider) {
    $routeProvider

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

    // route for the about page
    .when('/about', {
        templateUrl : 'views/pages/about.html',
        controller  : 'aboutController',
        controllerAs: 'about'
    })

    // route for the contact page
    .when('/contact', {
        templateUrl : 'views/pages/contact.html',
        controller  : 'contactController',
        controllerAs: 'contact'
    });

    $locationProvider.html5Mode(true);
});

在index.html文件中,我们指向正确的文件:

<script src="js/app.routes.js"></script>
<script src="js/app.js"></script>

为了测试他们的代码,我将index.html中的基本标记更改为我的文件夹路径,这消除了找不到上述文件的错误。

此材料是否过时了?另外,我意识到本书没有使用Angular 2. Angular 2在路由方面有很大差异吗?这种材料是否被弃用了?

1 个答案:

答案 0 :(得分:0)

只需运行命令

node server.js 

来自'12 -angular-routing'目录并在浏览器http://localhost:8080

中打开

问题是默认情况下浏览器不允许对位于本地文件系统上的文件进行AJAX请求。在这种情况下,您应该运行服务于客户端应用程序的本地服务器(server.js是简单的快速服务器)。