So, nuxt problems:
• SSR rendering patterns and data hydration on server was not as maturely developed as NextJS ... this resulted in a lot of console noise and rendering flash
• at my last work we ended up switching the app to completely do client side rendering to improve page speed 😆
• overly strict foldering opinions esp for component naming... remember how all components would by default inherit the parent folder name?
Components like /Foo/Bar/Thing.vue
would become named as <FooBarThing/>
wherever you want to import it due to its build opinions.
• auto-imports were possible because at build time nuxt generates a series .d.ts
in .nuxt/
of ALL composable and components such that they are globally namespaced. If you don't know about this it can be very easy to create conflicting and duplicate namespaced component prop types
• globally namespaced functions all get appended to window.$nuxt after loading in the browser. Odd design choice
• nuxt test utils is poorly documented test lib. It wraps around vue test utils which is much better documented.
• their wrapper-handlers for $fetch, useFetch, and useAsyncData are often confusing for new onboarding devs and are written just to be able to work with fetch inside nuxt. A dev should be able to use the browser native fetch if they wanted... but they can't.
- in Nuxt 3 the debug traces for any missing nullcheck or 500 error are horrible to debug and don't provide a line number to troubleshoot