只要用户在我们的网站上请求网页,就可以轻松呈现静态网站。
但是我们如何创建动态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。
答案 0 :(得分:0)
您正在寻找的是模板引擎。许多都与express兼容,但我的建议是pug
或handlebars
,因为它们对字符串转义具有出色的处理能力。
在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
)。