Nuxt Serverless AWS Lambda: Как использовать loadNuxt с serverless-http? - PullRequest
1 голос
/ 26 апреля 2020

Я пытаюсь выполнить рендеринг Nuxt с помощью функции лямбда AWS. Я хочу использовать метод programati c nuxt.render и подготовить промежуточное изделие express следующим образом:

// nuxt.js
const { loadNuxt } = require('nuxt')
const app = require('express')()

const nuxt = async () => {
  const nuxt = await loadNuxt('start')
  app.use(nuxt.render)
  return app
}

module.exports = nuxt
})

К сожалению, необходимая функция loadNuxt является asyn c. Я пытаюсь использовать serverless-http для монтирования приложения express

// index.js
const sls = require('serverless-http')
const binaryMimeTypes = require('./binaryMimeTypes.js')
const nuxt = require('./nuxt')

module.exports.nuxt = sls(nuxt, {
  binary: binaryMimeTypes
})

Попытка описанного выше приводит к загрузке страницы, которая никогда не завершает загрузку. Это связано с тем, что loadNuxt является asyn c. Как подготовить приложение asyn c express для плагина http-serverless?


Если я жду loadNuxt, я получаю страницу 404

// index.js
const sls = require('serverless-http')
const binaryMimeTypes = require('./binaryMimeTypes.js')
const nuxt = require('./nuxt')

module.exports.nuxt = async (event, context) => {
  const app = await nuxt()
  const handler = sls(app, {
    binary: binaryMimeTypes
  })
  const result = await handler(event, context)
  return result
}


Выполнение следующего с node nuxt.js отлично работает

// nuxt.js
const { loadNuxt } = require('nuxt')
const app = require('express')()

const nuxt = async () => {
  const nuxt = await loadNuxt('start')
  app.use(nuxt.render)
  app.listen(3000, '0.0.0.0')
}
nuxt()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...