Mac OS X NodeJS: has no method 'router' error

后端 未结 3 1635
既然无缘
既然无缘 2021-01-15 01:14

Installed NodeJS v0.6.12 on MAC OS X using Mac Ports.

    win764:node iwaldman$ which node
         /opt/local/bin/node

    win764:node iwaldman$ node -v
         


        
相关标签:
3条回答
  • 2021-01-15 01:38

    Alright, it's hard to say since it really looks like the tutorial you are following isn't using connect, but here is an example using connect that should work.

    function sendJSON(response, obj) {
      response.writeHead(200, {'Content-Type':'application/json'});
      var objStr = JSON.stringify(obj);
      response.end(objStr);
    }
    
    function get(path, cb) {
      return function(req, res, next) {
        if (req.method != 'GET' || req.url != path) return next();
        cb(req, res, next);
      }
    }
    
    var connect = require('connect')
    var app = connect()
      .use(connect.query())
      .use(get('/foo', function(req, res, next) {
        sendJSON(res, {path: 'foo'});
      }))
      .use(get('/bar', function(req, res, next) {
        sendJSON(res, {parth: 'bar'});
      }))
      .listen(3000);
    
    0 讨论(0)
  • 2021-01-15 01:42

    I had the same question. Richard Rodger,the author of 'Beginning Mobile Application Development in the Cloud' suggested I should either use the dispatch module (https://github.com/caolan/dispatch) or install an older version of connect, using:

    npm install git://github.com/senchalabs/connect.git#1.8.6

    Hope this helps! :)

    0 讨论(0)
  • 2021-01-15 01:43

    Install express and slightly rewrite the code:

    var express = require('express');
    var util    = require('util');
    
    function sendjson(res,obj)
    {
        res.writeHead(200, {
            'Content-Type': 'application/json',
        });
    
        var objstr = JSON.stringify(obj);
        util.debug('SENDJSON:' + objstr);
        res.end(objstr);
    }
    
    
    var app = express();
    
    app.get('/foo', function(req,res) {
        sendjson(res, {path:'/foo'});
    });
    
    app.get('/bar', function(req,res) {
        sendjson(res, {path:'/bar'});
    });
    
    app.listen(3000);
    util.debug('Server running at http://127.0.0.1:3000');
    
    0 讨论(0)
提交回复
热议问题