Как отправить файл в экспресс, используя req.params и метод join? - PullRequest
0 голосов
/ 29 марта 2019

Я создаю маршруты в express.js, используя параметры маршрута.Я хочу URL example.com/case/firstCase с firstCase в качестве параметра.

Однако я не знаю, как использовать sendFile с params.Я пытаюсь добавить .html, но я думаю, что это не работает, поскольку метод join добавляет / между каждым элементом, разделенным запятой.Другими словами, путь будет views/statics/case/firstCase/.html

Вот мой код в server.js.

const express = require('express')
const app = express()
const path = require('path')
// no need to use app.use(app.router) because of that update
// function signature express.static(root, [options])
app.use(express.static('public'));
// mount root to views/statics
app.use('/', express.static('views/statics'));

const PORT = process.env.PORT || 3000;

app.listen(PORT,() => {
    console.log(`Server is listening on port ${PORT}`)
  });

app.get('/case',(req,res,next)=> {
  res.sendFile('case.html', { root: path.join( __dirname, 'views/statics')})
})


app.get('/case/:case',(req, res)=>{
  res.sendFile(path.join(__dirname, 'views/statics/case', req.params.case + '.html'));
}))

1 Ответ

0 голосов
/ 29 марта 2019

Как указано выше, вы не используете view engine.

Добавить view engine подобно

  1. Мопс ссылка
  2. Ejs ссылка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...