如何为动态HTML文件创建动态URL?

时间:2017-01-20 22:28:16

标签: node.js express

只要用户在我们的网站上请求网页,就可以轻松呈现静态网站。

但是我们如何创建动态HTML页面的动态URL?以下是代码:

var JSONFile = require('../assets/blog.json');

然后:

router.get('/blog/:post', function (req, res, next) {
        var postname = req.params['post'];
        var title2 = JSONFile.postname.title;
        var content2 = JSONFile.postname.content;
        res.render(postname + '.html', {
                title = title2,
                content = content2
        })

我正在尝试创建一个博客。我只想为所有博客帖子创建一个通用模板文件。但它怎么可能呢?我们不仅要更改内容,还要更改博客帖子的URL。

1 个答案:

答案 0 :(得分:0)

您正在寻找的是模板引擎。许多都与express兼容,但我的建议是pughandlebars,因为它们对字符串转义具有出色的处理能力。

在app.js中设置表达使用哈巴狗的例子:

// view engine setup
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'pug')

然后当你res.render('post',{content:content})时,它会在你的/ views文件夹中找到一个名为'post.pug'的文件,你可以使用pug作为模板化html的方法并使用locals对象填充(在上面的示例中,将包含content)。

Here's a full breakdown!