-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed
Labels
Description
On top of letting your write Vue files, creating pages with the filesystem and managing your SEO with vue-meta, the NuxtJS team and contributors worked a lot of shipping by default an efficient and performant web application.
What do we have today:
- Route based chunking
- Auto preload/prefetch links
- Webpack 4: Tree Shaking, Code splitting, Terser, Hahsed file names optimized for long-term caching, Optimistic Chunk Groups, Optional CSS Extraction
- HTTP/2 push headers support
- Server-Timing header
- PWA/Workbox Module — lighthouse 100 score by adding a single module!
- AMP Support
- Modern Mode to serve less-transpiled bundles to modern browsers with
nuxt build —-modern
- Smart placeholder to avoid extra loads to Nuxt rendering
- nuxt-start for production (8MB install vs 60MB with nuxt)
- Bundle analyzer with
nuxt build —analyze
- Minify HTML
- ETAG
- nuxt-ssr-cache module
- SPA server cache
- HTTP Compression
- Dynamically prefech links/scripts/components is inspired by quicklink
- Guess.js support
- TypeScript Support
- Webfont Loader
- Lazy Hydration
What do we plan to do:
- Webpack 5 support
- Reducing initial bundle size
- Nuxt starter app could be a simple
app.vue
file (including onlyvue
andvue-meta
) - Vue3 Support
- Select features individually to reduce bundle sizes (experimental)
- Nuxt starter app could be a simple
- Smart SSR Module (stale-while-revalidate cache aka SPR and dynamic SSR/SPA switching)
- Multi target builds (static, server, serverless)
- Lamba API Support
- CI/CD for continues performance measurements (for PRs to the core)
- Critical CSS extraction
- Image Module (lazy-loading and size-optimize)
- Supporting APP Shell (SSR only for layout)
- In discussion: Rewrite core in typescript
How to accomplish this:
Maintaining an open source project requires consistent effort, not just with adding code, but also code reviews and support. The NuxtJS team and contributors coordinates their efforts on Discord. We all work on our free time to maintain it and I do believe the Chrome Performance Fund could help us to pay ourselves and our contributors on this future work thanks to our Open Collective.
ttlg, brolnickij, clarkdo, itshizhan, dennishzg and 169 moresuppeep, brandon-julio-t, RobertMischke, mckrava, jasonkur and 7 moreezralazuardy, brolnickij, ktquez, saeedtabrizi, fadonascimento and 26 moredanielroe, TheAlexLichter, shivgarg5676, housseindjirdeh, Niputi and 85 moreLuXDAmore, paulmelero, ttlg, brolnickij, clarkdo and 29 moreJ05HI, suppeep, mckrava, eskimm, drevantonder and 5 more