如何处理纯Node.js的角度路由?

时间:2015-03-28 23:28:29

标签: angularjs node.js angular-routing

我在没有 Express.js的情况下学习Node.js (尝试学习Node.js本身)。对于服务器端,我得到了这个:

Node.js的

// Creating server
var server = http.createServer(function(request, response) {
    var filePath = false;

    // Send files for each reqeust
    if(request.url == '/') {
        filePath = 'public/index.html';
    }
    else {
        filePath = 'public' + request.url;
    }

    var absPath = './' + filePath;
    sendFile(response, cache, absPath); // Send response here
});

对于客户端,我使用了Angular路线(不是ui-route)。

Angular.js:

app.config(function($routeProvider, $locationProvider) {
    $routeProvider.when('/', {
        templateUrl: '/partials/foo.html', controller: 'fooCtrl'
    });

    $routeProvider.when('/bar', {
        templateUrl: '/partials/bar.html'
    });

    $routeProvider.otherwise({redirectTo: '/'});

    $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
    });
});

如何使用纯Node.js处理角度路由请求?如果我使用Express.js,它可以很容易地完成 - 但我只想先学习Node.js.

1 个答案:

答案 0 :(得分:1)

致电时

#/bar

它链接到

/partials/bar.html

根据您的代码。

在您的服务器中,您需要将bar.html放在

/public/partials/bar.html

它应该像魔术一样工作