Я пишу некоторую маршрутизацию на Express js, и у меня есть 2 маршрутизатора здесь. Есть / posts и / posts /: id. И когда я пытаюсь получить результат по идентификатору, у меня появляется ошибка: мой статический файл app.css не был обработан express.static () и пришел в req.url, из-за этого мой код не работает и выдает мне неопределенный. Так что мопс рендеринга, но, таким образом, это не может получить CSS
Вот мой основной файл: server.js
const bodyParser = require('body-parser');
const app = express();
app.set('view engine', 'pug');
app.use('/public', express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.get('/', (req, res)=>{
res.render('index')
})
app.use('/posts', require('./routes/posts.js'))
app.listen(3000)
Это мой posts.js Router
const bodyParser = require('body-parser');
const router = express.Router();
const posts = require('../data/posts.json');
router.get('/', (req, res)=>{
res.render('posts', {
posts: posts
})
});
router.get('/:id', (req ,res)=>{
console.log(req.url);
const post = posts.find(post=> post.id == req.params.id);
console.log(post);
res.render('post', {
title: post.title,
content: post.content
})
})
module.exports = router
Вот ошибка и результаты журналов
/2
{ title: 'Посадка помидоров',
content: 'Как я посадила помидоры и они не выросли',
id: 2 }
/app.css
undefined
TypeError: Cannot read property 'title' of undefined