【发布时间】:2020-03-01 17:18:42
【问题描述】:
我有一个默认的 layout.ejs 文件,我在其中编译页眉、页脚等。 布局.js。现在我想输出存储在 3 个不同文件中的页面内容(1. 主页,2. 艺术家,3. 联系公式)。当页面 /homepage 被调用时,文件 homepage.ejs 应该被读入并显示(关于其他的,见上文)。 如何检查请求的 URL 或是否有其他方法来执行此操作
layout.ejs
<%- include('../partials/default/head') %>
<body>
<!-- Navigation Top -->
<%- include('../partials/default/navigation') %>
<!-- Page Content -->
<!-- Footer -->
<%- include('../partials/default/footer') %>
<script src="/vendor/jquery/jquery.min.js"></script>
<script src="/vendor/bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
路由器
const
express = require('express'),
defaultController = require('../controllers/defaultController');
const router = express.Router(); // create different routes
// Middleware to all routes in default
router.all('/*', (req, res, next) => {
req.app.locals.layout = 'default';
next();
})
// index routes
router.route('/')
.get(defaultController.index)
router.route('/artists')
.get(defaultController.artists)
router.route('/contact')
.get(defaultController.contact)
module.exports = router;
控制器
module.exports = {
index: (req, res) => {
res.render('default/index');
},
artists: (req,res) => {
res.render('default/artists');
},
contact: (req,res) => {
res.render('default/contact');
},
在我的 app.js 中我做了:
app.use('/',require('./routes/defaultRoutes'));
app.get('/', (req, res) => {
res.render('layouts/default');
})
app.use('/',require('./routes/adminRoutes'));
app.get('/admin', (req, res) => {
res.render('layouts/admin');
})
【问题讨论】: