Как использовать Nuxt. js в качестве промежуточного программного обеспечения Strapi для рендеринга на стороне сервера - PullRequest
1 голос
/ 11 апреля 2020

Strapi - удивительная платформа для безголовых CMS. Однако я давно использую Nuxt. js с SSR с Express. Теперь я подумываю о переходе на Strapi, чтобы использовать его как конструктор CMS и API. Я читал, что Nuxt. js можно использовать в качестве промежуточного программного обеспечения для Koa, и я попытался использовать его, но безуспешно.

Это мой код:

Мой код для промежуточного ПО Nuxt: (middlewares / nuxt / index. js)

const { Nuxt, Builder } = require('nuxt')


module.exports = strapi => {
  return {

  async initialize() {

    const nuxt = new Nuxt()

    // Build in development
      const builder = new Builder(nuxt)
      await builder.build()


    strapi.app.use(async (ctx, next) => {
      console.log(ctx)

      ctx.status = 200
      ctx.respond = false // Mark request as handled for Koa
      ctx.req.ctx = ctx // This might be useful later on, e.g. in nuxtServerInit or with nuxt-stash
      await nuxt.render(ctx.req, ctx.res)
    })
  }
  }
};

мой конфиг / middleware. json

{
  "timeout": 100000,
  "load": {
    "before": [
      "responseTime",
      "logger",
      "cors",
      "responses",
      "gzip",
      "nuxt"
        ],
    "order": [

    ],
    "after": [
      "parser",
      "router",
      "public"
        ]
  }
}

Когда я использую настройки выше Nuxt. js работает нормально без ошибок. Тем не менее, используя те же настройки, что и выше, я не могу получить доступ к административной панели Strapi или любому другому API, созданному со Strapi.

Я подозреваю, что проблема связана с промежуточным программным обеспечением маршрутизатора, оно не вызывает next().

Заранее спасибо

...