Node.js 节点JS调度无法获取错误

Node.js 节点JS调度无法获取错误,node.js,dispatch,Node.js,Dispatch,我正在尝试使用dispatch,但当我在broswer中进行测试时http://127.0.0.1/user 我得到以下信息 无法获取/访问用户/ 我做错了什么 127.0.0.1---[Mon,2012年5月14日17:40:13 GMT]GET/user/HTTP/1.0 404--Mozilla/5.0 Windows NT 6.1;WOW64;rv:12.0 Gecko/20100101 Firefox/12.0 ->工作正常 我的nginx配置文件也有这个条目 location /us

我正在尝试使用dispatch,但当我在broswer中进行测试时http://127.0.0.1/user 我得到以下信息

无法获取/访问用户/

我做错了什么

127.0.0.1---[Mon,2012年5月14日17:40:13 GMT]GET/user/HTTP/1.0 404--Mozilla/5.0 Windows NT 6.1;WOW64;rv:12.0 Gecko/20100101 Firefox/12.0

->工作正常

我的nginx配置文件也有这个条目

location /user/ {
      proxy_pass http://www.something.com:8181;
}
有什么建议可以让调度员工作吗

var dispatch   = require('connect')

function init() {
   var port = process.env.VCAP_APP_PORT || process.env.PORT || parseInt( process.argv[2], 10 )
   var staticFolder = __dirname + '/../site/public'

   console.log('port='+port+' static='+staticFolder)

   var server = connect.createServer(
   connect.logger(),
   connect.bodyParser(),
   connect.cookieParser(),
   connect.query(),
   connect.session({secret: config.secret}),

   dispatch({
            '/user': {
                     GET: api.get_user,
                     '/socialmsg/:when': {
                           POST: api.social_msg
                     }
             }
    }),

function(req,res,next){
  if( 0 === req.url.indexOf('/api/ping') ) {
    console.log(req.url+': '+JSON.stringify(req.query))
    res.writeHead(200)
    res.end( JSON.stringify({ok:true,time:new Date()}) )
  }
  else next();
},

 connect.static( staticFolder )
 )

 server.listen( port )
 }
根据,我将对您的代码进行重大重构,使其更具可读性,并更清楚地了解出了什么问题。简而言之,我认为静态目录似乎没有按预期配置。我还没有找到与Connect模块ExpressJS和http/https模块相同的createServer方法,尤其是您提供的具有8个参数的方法

也就是说,我将遵循以下文档惯例:

var connect = require('connect'),
    http = require('http');

var staticFolder = __dirname + '/../sites/public';

var server = http.createServer(
    connect
        .use(connect.static(staticFolder))
        .use(connect.logger)
        .use(connect.bodyParser)
        // etc for each of the 'connect.' middleware you are using above
        .use(function (req, res) {
            // Request handling here
        });
);

server.listen(8181);
在空函数req,res{}中,您需要放置api/ping的所有内容以及/user请求的等效内容


在您的问题中,您提供了“connect.static”作为createServer的参数,即connect.createServerconnect.static,而不是模块中中间件处理函数connect.use的参数。

您的代码有很多问题,除非有更多问题。例如,您设置了dispatch=require'connect',但随后使用变量connect代替dispatch everywhere。