Latest in branch 2
2.18.1
Released 28 Jun 2024
(1 year ago)
SoftwareNuxt
Branch2
Initial release2.0.0
20 Sep 2018
(7 years ago)
Latest release2.18.1
28 Jun 2024
(1 year ago)
End of support (OSS)30 Jun 2024
(Ended 1 year, 10 months ago)
Commercial Support
(HeroDevs-NES)
TBD
(Supported)
Release noteshttps://github.com/nuxt/nuxt/releases/tag/v2.18.1
Source codehttps://github.com/nuxt/nuxt/tree/v2.18.1
Downloadhttps://github.com/nuxt/nuxt/releases/tag/v2.18.1
Nuxt 2 ReleasesView full list

What Is New in Nuxt 2

Category Highlights
New Features Universal rendering (SSR, SPA, static generation), file-system routing, automatic code splitting per page, built-in webpack & Babel, hot module reloading, server-middleware mode, programmatic API (Nuxt & Builder classes)
Improvements Configurable via nuxt.config.js, static file serving from ./static, layout system via ./layouts, middleware support, separate build and start commands for production, CLI starter templates

How does Nuxt 2 enable universal rendering modes?

Nuxt 2 lets you choose between server-side rendering, single-page application, or static site generation at build time.

In practice you set mode or target in nuxt.config.js and Nuxt configures webpack accordingly. This matters if you need SEO-friendly pages (SSR) or want to pre-render everything for a CDN (static).

// nuxt.config.js
export default {
  target: 'static', // or 'server' for SSR
  ssr: true        // false for SPA mode
}

What is the file-system based routing and layout system in Nuxt 2?

Every .vue file placed in the pages/ directory automatically becomes a route, and any .vue file in layouts/ can be applied via the layout property.

This eliminates manual router configuration and keeps route definitions close to the component code, which speeds up onboarding for new team members.

// pages/about.vue
<template>
  <div>About us</div>
</template>

// layouts/default.vue
<template>
  <div>
    <Header />
    <nuxt />
    <Footer />
  </div>
</template>

How can I integrate Nuxt 2 as middleware in a custom Node server?

You can mount nuxt.render as the last middleware in an Express, Koa, or any Connect-compatible server.

This matters when you need custom API routes, authentication layers, or other server-side logic before handing over to Nuxt for rendering.

const express = require('express')
const { Nuxt } = require('nuxt')
const config = require('./nuxt.config.js')
const nuxt = new Nuxt(config)

const app = express()
app.use('/api', apiRouter)   // your custom API
app.use(nuxt.render)        // Nuxt handles everything else
app.listen(3000)

How do I build and start a Nuxt 2 application for production?

Run nuxt build to compile assets and generate the .nuxt directory, then launch the server with nuxt start.

This separation lets CI pipelines cache the build step and makes scaling easier because the runtime only serves pre-compiled files.

# Build step
nuxt build

# Runtime
nuxt start

How can I use Nuxt 2 programmatically for custom rendering?

Import the Nuxt and Builder classes, instantiate them with your config, and call renderRoute or render as needed.

This is useful for serverless functions, testing, or generating HTML snapshots for SEO.

const { Nuxt, Builder } = require('nuxt')
const config = require('./nuxt.config.js')
config.dev = false
const nuxt = new Nuxt(config)

new Builder(nuxt).build().then(() => {
  return nuxt.renderRoute('/about')
}).then(({ html }) => {
  console.log(html)
})

Frequently Asked Questions

Can I switch from SSR to SPA without rewriting my pages?
Yes, just change the ssr flag in nuxt.config.js and Nuxt will serve the same components as a client-only app.

Do I need to install webpack manually?
No, Nuxt bundles webpack and Babel out of the box, so you can focus on your code.

Is the static folder still served at the root URL?
Yes, any file placed in ./static is automatically mapped to /.

How do I add a global middleware that runs before every route?
Create a file in the middleware directory and reference it in nuxt.config.js under router.middleware.

What command should I run to generate a production-ready build?
Run nuxt build then nuxt start to launch the compiled application.

Can I render a single route from a serverless function?
Yes, use nuxt.renderRoute('/path', context) and return the html string from the function.

Releases In Branch 2

VersionRelease date
2.18.128 Jun 2024
(1 year ago)
2.18.027 Jun 2024
(1 year ago)
2.17.414 Jun 2024
(1 year ago)
2.17.312 Jan 2024
(2 years ago)
2.17.224 Oct 2023
(2 years ago)
2.17.114 Jul 2023
(2 years ago)
2.17.009 Jun 2023
(2 years ago)
2.16.317 Mar 2023
(3 years ago)
2.16.201 Mar 2023
(3 years ago)
2.16.113 Feb 2023
(3 years ago)
2.16.003 Feb 2023
(3 years ago)
2.15.811 Aug 2021
(4 years ago)
2.15.714 Jun 2021
(4 years ago)
2.15.612 May 2021
(5 years ago)
2.15.509 May 2021
(5 years ago)
2.15.401 Apr 2021
(5 years ago)
2.15.310 Mar 2021
(5 years ago)
2.15.223 Feb 2021
(5 years ago)
2.15.119 Feb 2021
(5 years ago)
2.15.015 Feb 2021
(5 years ago)
2.14.1216 Dec 2020
(5 years ago)
2.14.1110 Dec 2020
(5 years ago)
2.14.1007 Dec 2020
(5 years ago)
2.14.902 Dec 2020
(5 years ago)
2.14.801 Dec 2020
(5 years ago)
2.14.715 Oct 2020
(5 years ago)
2.14.621 Sep 2020
(5 years ago)
2.14.510 Sep 2020
(5 years ago)
2.14.427 Aug 2020
(5 years ago)
2.14.316 Aug 2020
(5 years ago)
2.14.216 Aug 2020
(5 years ago)
2.14.104 Aug 2020
(5 years ago)
2.14.027 Jul 2020
(5 years ago)
2.13.302 Jul 2020
(5 years ago)
2.13.226 Jun 2020
(5 years ago)
2.13.124 Jun 2020
(5 years ago)
2.13.018 Jun 2020
(5 years ago)
2.12.231 Mar 2020
(6 years ago)
2.12.125 Mar 2020
(6 years ago)
2.12.017 Mar 2020
(6 years ago)
2.11.017 Dec 2019
(6 years ago)
2.10.221 Oct 2019
(6 years ago)
2.10.111 Oct 2019
(6 years ago)
2.10.002 Oct 2019
(6 years ago)
2.9.228 Aug 2019
(6 years ago)
2.9.120 Aug 2019
(6 years ago)
2.9.020 Aug 2019
(6 years ago)
2.8.105 Jun 2019
(6 years ago)
2.8.030 May 2019
(6 years ago)
2.7.114 May 2019
(7 years ago)
2.7.014 May 2019
(7 years ago)
2.6.325 Apr 2019
(7 years ago)
2.6.221 Apr 2019
(7 years ago)
2.6.104 Apr 2019
(7 years ago)
2.6.004 Apr 2019
(7 years ago)
2.5.122 Mar 2019
(7 years ago)
2.5.021 Mar 2019
(7 years ago)
2.4.526 Feb 2019
(7 years ago)
2.4.306 Feb 2019
(7 years ago)
2.4.230 Jan 2019
(7 years ago)
2.4.028 Jan 2019
(7 years ago)
2.3.426 Nov 2018
(7 years ago)
2.3.220 Nov 2018
(7 years ago)
2.3.116 Nov 2018
(7 years ago)
2.3.018 Oct 2018
(7 years ago)
2.2.013 Oct 2018
(7 years ago)
2.1.030 Sep 2018
(7 years ago)
2.0.020 Sep 2018
(7 years ago)