2014-07-20 37 views
1

我正在使用與Node.js和Express使用EJS模板。我正在嘗試將請求參數傳遞給我的EJS模板。它正在工作,但是,由於某種原因,我的控制檯日誌報告了一些奇怪的事情。req.param裏res.render導致奇怪的控制檯日誌

版本:

  • 節點0.10.26
  • 快遞4.6.1
  • EJS 0.8.5

這裏是處理EJS模板路線:

var express = require('express'); 
var router = express.Router(); 
var data = require('../data.json'); 
var pkg = require('../../package.json'); 

router.get('/', function(req, res) { 
    res.render('index', 
    { 
     'acs' : data.acs, 
     'products' : data.products, 
     'pkg' : pkg, 
     'debug' : req.param('debug') 
    }); 
}); 

module.exports = router; 

這是控制檯日誌(我換成什麼長着「...」,以節省空間)

var __stack = { 
    lineno: 1, 
    input: "<!DOCTYPE html>\n<html lang=\"en\"> ... </html>\n", 
    filename: "/web/app/views/index.ejs" }; 

function rethrow(err, str, filename, lineno){ 
    var lines = str.split('\n') 
    , start = Math.max(lineno - 3, 0) 
    , end = Math.min(lines.length, lineno + 3); 

    // Error context 
    var context = lines.slice(start, end).map(function(line, i){ 
    var curr = i + start + 1; 
    return (curr == lineno ? ' >> ' : ' ') 
     + curr 
     + '| ' 
     + line; 
    }).join('\n'); 

    // Alter exception message 
    err.path = filename; 
    err.message = (filename || 'ejs') + ':' 
    + lineno + '\n' 
    + context + '\n\n' 
    + err.message; 

    throw err; 
} 
try { 
var buf = []; 
with (locals || {}) { (function(){ 
buf.push('<!DOCTYPE html>\n<html lang="en">...</html>\n'); })(); 
} 
return buf.join(''); 
} catch (err) { 
    rethrow(err, __stack.input, __stack.filename, __stack.lineno); 
} 

就像我說的,這是工作,但我不知道爲什麼這是登錄到控制檯。謝謝您的幫助!

回答