#javascript #node.js #ejs
Вопрос:
У меня возникли проблемы с отображением графической страницы, так как я получаю ошибку Cannot GET /pages/
всякий раз, когда запускаю приведенный ниже код
Я не знаю, нужно ли мне вызывать графику в навигации особым образом, потому что я использую тот же метод для отображения индексной страницы без ошибок, но я не знаю, что я делаю не так с графической страницей, чтобы она не отображалась. Пожалуйста, помогите
представления/макет/части/навигация.ejs
<!--//social-list-->
<ul class="navbar-nav ms-lg-auto">
<li class="nav-item me-lg-4">
<a class="nav-link" href="/features">Features</a>
</li>
<li class="nav-item me-lg-4">
<a class="nav-link" href="/pricing">Pricing</a>
</li>
<li class="nav-item dropdown me-lg-4">
<a
class="nav-link dropdown-toggle"
href="#"
id="navbarDropdown"
role="button"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
Docs
</a>
<ul
class="dropdown-menu rounded shadow menu-animate slideIn"
aria-labelledby="navbarDropdown"
>
<li>
<a class="dropdown-item has-icon" href="/docs"
><span class="theme-icon-holder me-2"><i class="fas fa-home fa-fw"></i></span>Docs
Home</a
>
</li>
<li><div class="dropdown-divider m-0"></div></li>
<li>
<a class="dropdown-item has-icon" href="portfolio/website.html">
<span class="theme-icon-holder me-2"><i class="fas fa-desktop fa-fw"></i></span
>Website Designs</a
>
</li>
<li>
<a class="dropdown-item has-icon" href="../pages/<% template %> ">
<span class="theme-icon-holder me-2"><i class="fas fa-file-picture-o fa-fw"></i></span
>Graphic Designs</a
>
</li>
routes/graphics.js
const express = require('express');
const router = express.Router();
module.exports = (params) => {
const { feedbackService } = params;
router.get('/', async (req, res) => {
const graphics = await feedbackService.getList();
res.render('layout', { pageTitle: 'Graphics', template: 'graphics', graphics });
});
return router;
};
просмотры/страницы/графика.ejs
<section class="section py-5 bg-primary text-white">
<div class="container">
<div class="text-center">
<img
class="profile-small d-inline-block mx-auto rounded-circle mb-2"
src="assets/images/profile.jpg"
alt=""
/>
</div>
<h3 class="section-title font-weight-bold text-center mb-2">
Interested in hiring me for your project?
</h3>
<div class="section-intro mx-auto text-center mb-3">
Looking for an experienced full-stack developer to build your web app or ship your software
product? To start an initial chat, just drop me an email at
<a class="link-on-bg text-link" href="#">steve.doe@youremail.com</a> or use the
<a class="link-on-bg text-link" href="../contact.html">form on the contact page</a>.
</div>
<div class="text-center">
<a class="theme-btn-on-bg btn" href="../contact.html">Let's Talk</a>
</div>
</div>
<!--//container-->
</section>
server.js
const express = require('express');
const path = require('path');
const cookieSession = require('cookie-session');
const FeedbackService = require('./services/FeedbackService');
const feedbackService = new FeedbackService('./data/feedback.json');
const routes = require('./routes');
const app = express();
const port = 3010;
app.set('trust proxy', 1);
app.use(
cookieSession({
name: 'session',
keys: ['kimmoramicky', 'thecreator'],
})
);
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, './views'));
app.use(express.static(path.join(__dirname, './assets')));
app.use('/', routes({ feedbackService }));
app.listen(port, () => {
console.log(`App is running on port ${port}`);
});