Express中间件,将自定义HTML标题添加到静态文件
当使用express.static('folder')
中间件提供服务时,是否可以将自定义<title>
添加到HTML页面?
我知道你可以使用favicon使用相同的
https://github.com/expressjs/serve-favicon
但是这只适用于浏览器请求图标本身,而<title>
是HTML本身的一部分。
我正在试图dynamic设置标题内容可能是什么。
有任何想法吗?
你可以尝试使用模板引擎(我喜欢Handlebars,因为它非常接近普通的HTML)。 这可以让你制作一个你传递上下文的模板。
举一个简单的例子,Handlebars语法如下所示:
<!--template.hbs--> <head> <title>{{title}}</title> ... </head> <body> ... </body>
然后在服务器上,您将设置以下路由:
app.get('/', function (req, res) { /*** 'template.hbs' - the filename of the template {} - the context - fill this with all the variables you want to use in your template ***/ res.render('template.hbs', {title: 'My Title'}); });
很明显,Handlebars并不是Expressjs唯一可用的模板引擎,如果您决定Handlebars不适合您,以下是Express文档中关于其他引擎的一个页面 。