【问题标题】:How can I handle angular-route with pure Node.js?如何使用纯 Node.js 处理角度路由?
【发布时间】:2015-03-29 12:18:23
【问题描述】:

我正在学习 Node.js 没有 Express.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。

【问题讨论】:

  • 我对角度一无所知,但在您的节点 js 服务器中,您已经处理了客户端在 request.url 下发送的每个请求
  • 你想达到什么目的? SPA的服务器端渲染?

标签: angularjs node.js angular-routing


【解决方案1】:

当你打电话时

#/bar

它链接到

/partials/bar.html

根据您的代码。

在你的服务器中,你需要把 bar.html 放进去

/public/partials/bar.html

它应该像魔术一样工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2021-08-09
    • 2023-03-07
    • 1970-01-01
    • 2015-09-28
    • 2017-04-21
    • 1970-01-01
    相关资源
    最近更新 更多