Thomas Derflinger BlogFR

8 Reasons to Use Nuxt

When you use Vue for your project, there is a great chance that Nuxt can improve your experience significantly. By using Nuxt you get all the benefits of the Vue ecosystem plus some significant enhancements that I want to highlight in this article.

1. Server Side Rendered

Nuxt supports server side rendered applications (SSR). When using Nuxt in server side rendered mode, you need a dedicated server to run the application. Instead of the delivery of a big JavaScript file like in traditional Vue applications, the application is pre-rendered on the server and only HTML and a bit of client side JavaScript is delivered to the browser. This speeds up web site performance and potentially even helps with SEO (the way your site gets ranked in Google search engine).

When you are a React developer, you probably heard of the SSR framework Next.js. Nuxt is the Vue equivalent of Next.js.

2. Static Site Generation

Nuxt not only supports SSR, but also static site generation. With static site generation, everything can be rendered on your development computer. Then the pre-rendered files can be copied to a cloud file storage like S3. This simplified setup is sometimes called the JAMStack. You get performance, security and also SEO benefits compared to traditional Vue applications. It is especially popular for Blogs.

3. Simplified Routing

Nuxt comes out of the box with a simplified routing based on Vue Router. In Nuxt there is a pages folder where all your pages reside. The file names and structure of this folder will be reflected in your URL design. For example, a Vue file application.vue in the pages folder will be mapped to https://yourapp.com/application This simplifies the route management.

4. Simplified Meta Tags

Nuxt uses the vue-meta package to manage site meta data. You can simply define the meta tags in the Nuxt configuration file (nuxt.config.js). In that way you do not need to manually define the meta tags.

5. Sensible Conventions

Nuxt structures your project in a way that makes it easy to grow and sets sensible defaults. For example, there is a css folder for common CSS files, a store folder for the VueX data store if you need that and a pages directory for your web pages.

6. Good SEO Support

While meanwhile Google says it is able to crawl traditional Vue SPA (Single Page Applications) that contain lots of JavaScript, Nuxt gives you a better chance of getting a good SEO ranking due to the pre-rendering capabilities. This makes your pages faster, which is also a Google criteria for ranking your page.

7. Vuex Store

The VueX store can be included on installation. So there is no need to manually install and configure the Vuex store which speeds up the setup process.

8. Modules

You can customize nearly any aspect of Nuxt with Modules. This makes the customization easy. There are a number of official modules and a website with Nuxt modules made by the community (https://github.com/topics/nuxt-module).

Conclusion

I recently converted a traditional Vue website to Nuxt. My experience was so positive that I decided to write this article. For me the main reason was the static site generation. But I hope you could see that there are more reasons for using Nuxt in your next project.

References

Nuxt: https://nuxtjs.org/

Nuxt modules: https://github.com/topics/nuxt-module

Published 20 Mar 2020

Thomas Derflinger

Thomas Derflinger

I am an independent entrepreneur and software developer.

Web is a topic I really enjoy. Let's get in touch!