MEAN堆栈路由问题,角度路由不起作用

时间:2015-07-17 17:00:51

标签: javascript angularjs express mean-stack

我有我的routes.js

module.exports = function(app) {
//I can't use this because angular routing does not work
/*app.get('*', function(req, res) {
    res.sendfile('./public/index.html');
});*/
    app.get('/submit', function(req,res){
        res.sendfile('./public/submit.html');
    }); 

    app.get('/schedule', function(req,res){
        res.sendfile('./public/schedule.html');
    }); 

    app.get('/requests', function(req,res){
        res.sendfile('./public/requests.html');
    });

    app.get('/tv_left', function(req,res){
        res.sendfile('./public/tv_left.html');
    });

    app.get('/tv_center', function(req,res){
        res.sendfile('./public/tv_center.html');
    });

    app.get('/tv_right', function(req,res){
        res.sendfile('./public/tv_right.html');
    });

    app.get('/', function(req, res){
        res.sendfile('./public/index.html');
    });
};

和我这样的appRoutes.js

angular.module('appRoutes', []).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

    $routeProvider

        // home page
        .when('/', {
            templateUrl: 'index.html',
            controller: 'LoginController'
        })

        .when('/submit', {
            templateUrl: 'submit.html',
            controller: 'SubmitController'
        });

    $locationProvider.html5Mode(true);

}]);

基本上如果我使用app.get(' *'),那么任何请求都会返回到index.html,尽管网址已经更改。

1 个答案:

答案 0 :(得分:1)

那是因为express按照定义的顺序处理路由。如果您希望index.html作为一个包罗万象的路线,请将其移至函数的底部。

进一步阅读:https://www.safaribooksonline.com/blog/2014/03/10/express-js-middleware-demystified/

相关问题