有人能解释为什么这段代码有用吗?

时间:2014-02-01 21:53:12

标签: node.js express

所以我使用了带有express的标记(降价模块),我没有设置标题var或渲染任何东西但是标题var正在变异-i guess-这里是我的index.js路由的代码:< / p>

/*
 * GET home page.
 */

exports.index = function(req, res, marked){
  marked('Why is this even __working__?.');
};

这是我的index.ejs的代码

<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
  </body>
</html>

以下是我在浏览器中获得的内容,虽然我重启了应用程序很多次!!:

enter image description here

1 个答案:

答案 0 :(得分:3)

您误解了连接/表达中间件功能签名。你有:

exports.index = function(req, res, marked){

但那不对。它是req, res, next,并且没有涉及marked。所以你没有渲染markdown,你将一个字符串传递给next(),连接/表示将其视为错误。一旦删除错误命名的函数参数混淆,您的代码就会执行此操作:

exports.index = function(req, res, next){
    next('Why is this even __working__?.');
}

因此,连接看到next传递了一个错误字符串并表达了渲染的默认错误页面,并将其作为错误消息。