express.js:天真的技术咨询

我在express.js路线上遇到了一些麻烦

如果我设置了开箱即用的世界应用,我可以通过一条路线获得一个基本的设置

app.get('/', routes.home); 

在express.js文档中,在app.routes中,我的单个路由具有这样的对象:

 { path: '/', method: 'get', callbacks: [Object], keys: [], regexp: /^\/\/?$/i } 

但如果我console.log到对象

 console.log(app.routes.get[0].callbacks[0]); 

我得到“[function]”,如果我这样做

 console.log(JSON.stringify(app.routes.get[0].callbacks[0])); 

我得到“未定义”,因为callback是一个函数…

这里发生了什么,技术上呢? 我如何看看我为我的路线定义的callback?

 $ node server.js { get: [ { path: '/', method: 'get', callbacks: [Object], keys: [], regexp: /^\/\/?$/i }, { path: '/hello.txt', method: 'get', callbacks: [Object], keys: [], regexp: /^\/hello\.txt\/?$/i } ] } [Function] undefined 

 var express = require('express'); var app = express(); app.get('/', function(req, res){ res.send('Hello World'); }); app.get('/hello.txt', function(req, res){ res.send('Hello World'); }); console.log(app.routes); console.log(app.routes.get[0].callbacks[0]); console.log(JSON.stringify(app.routes.get[0].callbacks[0])); 

Callbacks[0]函数Callbacks[0]有一个函数,而不是JSON对象。 那就是为什么JSON.stringify返回undefined