我在查看express.js路线时遇到了一些麻烦
如果我设置了开箱即用的hello world应用程序,我将获得一条基本设置,只需一条路线
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]);
我得到“[功能]”,如果我做
console.log(JSON.stringify(app.routes.get[0].callbacks[0]));
我得到“未定义”,因为回调是一个函数......
这里发生了什么,技术上?我怎样才能看看我为路线定义的回调?
答案 0 :(得分:1)
$ 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]
有一个函数,而不是JSON对象。这就是JSON.stringify
返回undefined