Blog

Thoughts on frontend development, Nuxt, Vue, and modern web technologies.

Deploying a Nuxt app to Netlify

Netlify will build a Nuxt app with almost no configuration, and that is the problem: the default works right up until the moment your repository is shaped slightly differently from the one Netlify assumes. This post is about the three settings that actually earn their place, the two environment variables that are load-bearing rather than decorative, and the failure mode that produces a perfectly green deploy of an empty site.

Using Sanity.io with Nuxt 4

This site used to keep its blog posts as Markdown files and read them at build time. It now keeps them in Sanity and queries them at runtime. That migration is mostly plumbing, but a handful of things about it are genuinely counter-intuitive, and each one cost me time, so this post is about those rather than about how to install a module.

Deploy your Nuxt app to production

In 2020 I wrote a post on deploying a Nuxt app with PM2. A lot of it no longer applies. nuxt start does not exist any more, the config file is nuxt.config.ts instead of nuxt.config.js, and the build output is no longer something you serve with a hand-written process command — it is a self-contained server you run with one line. This post replaces it. If you landed here from a search, use this one and ignore anything about target: "server".

Deploy your Nuxt app using PM2 (outdated)

This post is out of date. Nuxt 4 removed nuxt start, the config file is nuxt.config.ts, and the target: "server" option no longer exists. The pm2 deploy workflow below still exists, but it is no longer how I would set this up. My current replacement: Deploy your Nuxt app to production →