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