Next.Js app.render () не работает, если я использую getRequestHandler с приложением Express Js - PullRequest
1 голос
/ 25 марта 2019

Я новичок в NextJ и у меня много проблем с этим. Я делаю приложение на основе NextJs и Express Js для Shopify App. Мое требование: я хочу показать страницу NextJs погашать , когда кто-то отправляется по маршруту / iframe вот так

app.get('/iframe', (req, res) => {
    // res.send('Hello World!');
    const actualPage = '/redeem'
    const queryParams = { id: req.params.id } 
    nextapp.render(req, res, actualPage, queryParams)
  });

Это прекрасно работает. Страница отображается, но проблема в том, что CSS не загружается. Я использовал пакет @ zeit / next-CSS, но все равно получаю много ошибок. Некоторые касаются Mime Type. Я проверил решение, и они говорят, что я должен использовать это

app.get('*', (req, res, next) => {
    return handle(req, res)
  })

Но если я воспользуюсь этим, то не смогу отрисовать выкупить страницу при попадании на маршрут / iframe

Может ли кто-нибудь помочь мне в этом? Похоже, я должен использовать оба, но оба не работают друг с другом.

Все, что я хочу - это отобразить страницу NextJs с помощью CSS при попадании на любой экспресс-маршрут.

1 Ответ

2 голосов
/ 25 марта 2019

Put

app.get('*', (req, res, next) => {
    return handle(req, res)
  })

после

app.get('/iframe', (req, res) => {
    // res.send('Hello World!');
    const actualPage = '/redeem'
    const queryParams = { id: req.params.id } 
    nextapp.render(req, res, actualPage, queryParams)
  });

как это

app.get('/iframe', (req, res) => {
    // res.send('Hello World!');
    const actualPage = '/redeem'
    const queryParams = { id: req.params.id } 
    nextapp.render(req, res, actualPage, queryParams)
  });
/*
Some code here....................
*/
app.get('*', (req, res, next) => {
    return handle(req, res)
  })
...