Как я могу исправить или понять, почему мои статические файлы не обрабатываются express.static - PullRequest
0 голосов
/ 15 июня 2019

Я пишу некоторую маршрутизацию на 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
...