2013-08-25 38 views
1

我有一些麻煩我的頭周圍express.js路線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] ... [1]:http://stackoverflow.com/a/9460876/1094784 – Petrov

+0

[console.log javascript \ [Function \]]可能的重複(http://stackoverflow.com/questions/9460826/console-log-javascript-function) – WiredPrairie

回答

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

+0

感謝@thefourtheye您的回答,但它不是真的我需要什麼 - 參考以下相同的問題,正確答案 – Petrov

+0

@Petrov你最初的問題是有點不同。沒關係。祝你有美好的一天 :) – thefourtheye