以下是一个示例,展示了如何使用动态路由和EJS模板引擎来渲染视图:
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
const views = [
{ name: 'home', title: 'Home Page' },
{ name: 'about', title: 'About Page' },
{ name: 'contact', title: 'Contact Page' }
];
app.get('/:view', (req, res) => {
const view = views.find(v => v.name === req.params.view);
if (view) {
res.render(view.name, { title: view.title });
} else {
res.status(404).send('Not Found');
}
});
home.ejs
、about.ejs
和contact.ejs
,并在视图中使用模板变量:
<%= title %>
Welcome to <%= title %>
<%= title %>
About <%= title %>
<%= title %>
Contact <%= title %>
现在,当访问/home
、/about
或/contact
时,将动态渲染相应的视图。
请注意,此示例假设在应用程序的根目录中包含了上述EJS视图文件。如果视图文件位于不同的目录中,请相应地调整视图文件的路径。