【问题标题】:Angular+Socket.io HandlerAngular+Socket.io 处理程序
【发布时间】:2014-05-08 22:36:21
【问题描述】:

我正在尝试了解 Angular.js 和 Socket.io。但似乎我的 node.js/socket.io 不能作为一个真正的网络服务器来路由到 angular.js 和 controller.js。这不应该是“处理者”的任务吗? 我的处理程序看起来像这样,并且只返回 page.html。我怎样才能让它也路由到 /lib/angular.js 和 /js/controller.js ?不懂技术,感觉自己很傻。

var handler = function(req, res) {
fs.readFile('page.html', function(err, data) {
    if (err)
        throw err;
    res.writeHead(200);
    res.end(data);
});

我的 page.html 如下所示:

<html ng-app="MyTestApp">...
    <script src="./lib/angular/angular.js"></script>
    <script type="text/javascript" src="./js/controllers.js"></script>...
<body ng-controller="userController">
    <table>
        <thead>
            <tr><th colspan="4">All online users</th></tr>
        </thead>
        <tbody>
            <tr ng-repeat="user in UserList">
                <td>{{$index + 1}}</td>
                    <td>
                    <img src="img/flags/{{nationality}}.png" />
                    {{user.Driver.givenName}}
                </td>
            </tr>
        </tbody>
        </table>

还有我的 controller.js:

angular.module('MyTestApp', [
    'MyTestApp.controllers'
 ]);

angular.module('MyTestApp.controllers', []).
    controller('userController', function($scope) {
$scope.UserList = [
  { Driver: {
        givenName: 'Sebastian'
        },
    nationality: "German"
  },
  { Driver: {
        givenName: 'Fernando'
        },
    nationality: "Spanish",
  }
];});

所以它只是一个简单的测试,但在我的 page.html 中我没有得到正确的数据,我想,angular.js 不是由 node.js 加载的?:

 {{$index + 1}}...{{user.Driver.givenName}}

谢谢各位。

【问题讨论】:

    标签: javascript node.js angularjs socket.io handler


    【解决方案1】:

    约翰完全正确。我让它与 express 一起工作 这是代码:

    var express = require('express');
    var app = express();
    app.configure(function() {
        app.use(express.static(__dirname+'/public'));
    });
    var server = require('http').createServer(app).listen(1337);
    var io = require('socket.io').listen(server);
    

    【讨论】:

      【解决方案2】:

      您应该使用 (http://expressjs.com) 并使用它来提供 page.html 和您的 JS 资产。应该是 5 行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-05
        • 2015-10-28
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 2017-02-17
        • 1970-01-01
        相关资源
        最近更新 更多