0

Richard Rodger による「Beginning Mobile Application Development in the Cloud」を読んでいて、いくつかのサンプル コードで Connect が使用されていることがわかりました。「メソッド ルーターがありません」というエラーが発生するサンプルを次に示します。

var common = require('./common.js');
var util    = common.util;
var connect = common.connect;
var mongo   = common.mongo;


var server = connect.createServer( 
  connect.router(function(app){ //gives the error: "has no method 'router'

    // POST {id:<string>}
    app.post('/todo/stats/init',function(req,res,next){
      common.readjson(req,function(json){
        common.sendjson(res,{ok:true,id:json.id});
      })
    })

    // POST {time:<UTC-millis>,total:<todos>,done:<done todos>}
    app.post('/todo/stats/collect/:id',function(req,res,next){
      var id = req.params.id;
      common.sendjson(res,{ok:true,id:id});
      common.readjson(req);
    })
  })
);


mongo.init('todo','localhost');
mongo.open()

server.listen(3000);

node に関する本のほとんどには、機能しないコードが含まれており、今から学習を始めて、すぐに学習をやめてしまう人にとっては、非常にイライラします。オープンソース フレームワークは驚くほど速く変化します。これを正しい方法で行う方法を学ぶ必要があります。何かご意見は?

4

2 に答える 2

0

インストールした接続モジュールは、本よりも最新のものです。このブログから解決策を試してください:http://blog.riff.org/2012_04_09_missing_the_connect_router_middleware_for_nodejs

または、コマンドを実行してconnect-routerモジュールを使用します。npm install connect-route またはgithub:からnode_moduleディレクトリにクローンを作成し、次の方法でインストールgit clone git://github.com/baryshev/connect-route.gitします。- >cd connect-routenpm install -d

于 2012-12-30T23:33:41.937 に答える
0

そうですか。

var common = require('./common.js');
var util    = common.util;
var connect = common.connect;
var mongo   = common.mongo;

connect.createServer(function (req, res, next) {

    app.post('/todo/stats/init',function(req,res,next){
      common.readjson(req,function(json){
        common.sendjson(res,{ok:true,id:json.id});
      })
    })


    app.post('/todo/stats/collect/:id',function(req,res,next){
      var id = req.params.id;
      common.sendjson(res,{ok:true,id:id});
      common.readjson(req);
    })

        mongo.init('todo','localhost');
        mongo.open();


}).listen(3000);
于 2012-10-24T21:25:58.570 に答える