AngularJS 路由未按预期工作

AngularJS Routing Not Working As Expected

我是 AngularJS 的新手,此时非常迷茫。我正在尝试从这段代码中学习: http://plnkr.co/edit/dd8Nk9PDFotCQu4yrnDg?p=preview

script.js:

// create the module and name it scotchApp
var scotchApp = angular.module('scotchApp', ['ngRoute']);

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

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

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

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

// create the controller and inject Angular's $scope
scotchApp.controller('mainController', function($scope) {
    // create a message to display in our view
    $scope.message = 'Everyone come and see how good I look!';
});

scotchApp.controller('aboutController', function($scope) {
    $scope.message = 'Look! I am an about page.';
});

scotchApp.controller('contactController', function($scope) {
    $scope.message = 'Contact us! JK. This is just a demo.';
});

我的 index.html 文件包括

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>

我在本地环境中设置了它。我可以加载主页,但路由仅更改 URL,没有其他更改。知道是什么原因造成的吗?

当您说仅调用 Url 并且未呈现页面时,ngroute 工作正常。您需要确保的一件事是所有 html 文件都位于 pages 目录下。

index.html 页面内也应该有 <ng-view> 标签

最好的例子就是你所指的 plunker。

我找到了解决问题的办法。我不得不添加

app.use(express.static(__dirname ));

到我的节点服务器脚本。不过,我不明白为什么需要这样做。