【问题标题】:Next.Js app.render() doesnt work if I use getRequestHandler with Express Js app如果我将 getRequestHandler 与 Express Js 应用程序一起使用,Next.Js app.render() 将不起作用
【发布时间】:2019-08-15 17:08:42
【问题描述】:

我是 NextJs 的新手,我遇到了很多麻烦。我正在为 Shopify 应用程序制作基于 NextJs 和 Express Js 的应用程序。我的要求是当有人像这样点击 /iframe 路线时,我想显示 NextJs 页面 redeem

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 类型的。 我检查了解决方案,他们说我必须使用这个

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

但是如果我使用它,那么当我点击路线 /iframe

时,我将无法呈现 redeem 页面

任何人都可以帮助我吗?似乎我必须同时使用两者,但两者都不能相互使用。

我想要的只是在点击任何快速路线时使用 CSS 呈现 NextJs 页面。

【问题讨论】:

    标签: reactjs express next.js


    【解决方案1】:

    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)
      })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 2022-01-09
      • 1970-01-01
      • 2021-09-16
      • 2018-10-04
      • 1970-01-01
      相关资源
      最近更新 更多