The Need for Modern JS
The Challenge to Maintain SEO
NuxtJS takes Vue.JS and provides server-side rendering right out-of-the-box. Similar to Vue's
create command for quick and easy project generation, NuxtJS has its own command,
create-nuxt-app. It also includes URL routing, Vuex, and static asset handling.
NuxtJS automatically renders each page on the server-side while allowing Vue.JS to handle interactions in the browser. This includes interactions with the Vuex store and transferring the current state to the browser. A special lifecycle method,
fetch, is provided, making AJAX calls easy regardless of whether the request was on the server-side or the client.
NuxtJS Has Many Useful Extras
Concerned about transitioning the old site to the Nuxt version? Check out @nuxtjs/proxy, which will allow you to use Nuxt while serving your pages of choice straight from the old site.
Not sure how to go about implementing authentication on the front-end? @nuxtjs/auth will make that easier. The user data will be made conveniently available to any component by placing it in the Vuex store.
Wanting to make your app a progressive web app, possibly later down the road? Nuxt PWA will help with that.
Furthermore, you have the ability to work with TypeScript.
Besides NuxtJS-specific extras, nearly all the great components from the Vue.JS open-source community are available.
Modern JS approaches to front-end development are essential as is search engine optimization. The usefulness of Vue.JS makes Nuxt.JS an excellent choice when it comes to getting the best of both worlds.