Nuxt/docs/content/2.concepts/1.introduction.md
2021-10-18 16:31:47 +02:00

3.0 KiB

What is Nuxt?

Nuxt goal is to make web development intuitive and performant with a great developer experience in mind.

Why Nuxt?

To understand what is Nuxt, we need to understand what we need to create a modern application: ::list{type=success}

  • A JavaScript framework to bring reactivity and web components, we chose Vue.js.
  • A bundler to support hot module replacement in development and bundle your code for production, we support both Webpack 5 and Vite.
  • A transpiler in order to write the latest JavaScript syntax while supporting legacy browsers, we use esbuild for that.
  • A server for serving your application in development, but also to support server-side rendering or API routes, Nuxt uses h3 for deployment versatility such as serverless, workers, Node.js and unmatched performance.
  • A routing library to handle client-side navigation, we chose vue-router. ::

This is only the tip of the iceberg, imagine having to setup all of this for your project, make it work, and then, maintain it over time. We have been doing this since October 2016, tuning all the configuration to provide the best optimization and performance for any Vue applications.

Nuxt takes care of all of this so you can focus on what matters: creating your web application.

On top of this setup, Nuxt provides a directory structure to follow, focused on specific features to keep your focus on creating, not configuring.

How does it work?

Nuxt is composed of different core packages: ::list{type=info}

We recommend to read each concept to have a full vision of Nuxt capabilities and scope of each package.

Are you Nuxt?

Nuxt is the backbone of your Vue.js project, giving structure to build your project with confidence while keeping flexibility.

Extendable with a strong module ecosystem and hooks engine, it makes it easy to connect your REST or GraphQL endpoints, favorite CMS, CSS frameworks and more. PWA and AMP support is only a module away from your Nuxt project.

::alert{type=info icon=👍} Ready to try? Head over the Installation section. ::