Skip to content

re: A crash course on serverless-side rendering with Vue.js, Nuxt.js and AWS Lambda VIEW POST

re: I was having the same problem, but got it working with the following: app.use((req, res) => setTimeout(() => nuxt.render(req, res), 0)); ...

I believe it's safer if you wait till the renderer is ready. To do so, simply listen to the render:done hook. For instance something like should work:

app.use((req, res) => {
  nuxt.hook("render:done", () => {
    nuxt.render(req, res);

setTimeout doesn't seem very reliable to me :) On my mac I had to wait around 60ms for instance.

The following works as well.

app.use(async (req, res) => {
  await nuxt.ready()
  nuxt.render(req, res)

With the nuxt.hook("render:done" () => {}) I was getting random 404 errors when deployed. nuxt.ready() did the trick for me!

Awesome of you to share this! Feel free to add a PR to the GitHub repo with this edit. πŸ‘Œ

code of conduct - report abuse