帕格不会用值替换参数

时间:2017-03-01 17:52:25

标签: node.js express pug

帕格的文档说如果他们有这种形式,所有参数将被替换为值:#{parameter_name}这对我没用。

我的代码:

//Template
doctype html
html(lang="en")
    head
        title= title
    body
        h1
            Task is  #{task_id}
        p
            task is #{task_id}
            company is  #{company_id}


//javascript
var express = require('express')
var app = express()
const util = require('util');

app.set('view engine', 'pug')
app.get('/', function (req, res) {
      res.send('Hello World!')
})
app.locals.pretty = true
app.get('/task/:company_id/:task_id',function(req,res) {
    res.render('task',{task_id: req.query.task_id,company_id: req.query.company_id});
});

app.listen(8080, function () {
      console.log('Example app listening on port !')
})

输出:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title></title>
  </head>
  <body>
    <h1>
      <Task>is  </Task>
    </h1>
    <p>
      <task>is </task>
      <company>is  </company>
    </p>
  </body>
</html>

没有变量被解释!!!这有什么不对?我正在关注文档! (我使用的是昨天安装的最新版本)

1 个答案:

答案 0 :(得分:1)

看起来您正在引用查询字符串而不是nodejs中的参数

请将您的代码更改为

res.render('task',{task_id: req.params.task_id,company_id: req.params.company_id});

你需要使用params而不是查询