我有一个默认的layout.ejs文件,在其中编译标头,页脚等。layout.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'); })
实施路线。但是现在索引(首页)仅显示导航和页脚和/ artists,并且/ contact仅显示其内容,而不显示部分内容
我有一个默认的layout.ejs文件,在其中编译标头,页脚等。layout.js。现在,我想输出存储在3个不同文件中的页面内容(1.主页,2。艺术家,3。联系人公式)。当...