This repo contains examples from my talk on the new Next.js App Router.
The talk is broken up into sections - and each section has a corresponding Pull Request.
The main
branch (what you're looking at right now) has the full thing, each Pull Request is based off of the other, starting with the Base Install.
See the full running app here on Vercel
- Next.js Docs
- App Router Playground
- Next.js on React Server Components
- React Server Components on patterns.dev
- Hacker News thread by Dan Abramov
(branch only, no PR)
We start with the output of npx create-next-app@latest
, with a couple small adjustments
- Update design
- Use
pnpm
- Add some basic routes
- Add a Root Layout
- Add some nested layouts
- Add some examples of Client Components
- Add a Route Group
- Add a Dynamic Route
- Add Dynamic Metadata
- Add error handlers
- Add 404 handlers
- Add Data Fetching to Route
- Add Data Fetching to Layout
- Add
loading.js
files
- Add
Suspense
example
- Data
fetch
on static route - Data
fetch
on dynamic route fetch
withcache: no-store
fetch
withrevalidate: 0
fetch
withrevalidate: 5
fetch
with a Static page +revalidate = true
Route Segment Config
This repo requires node
and pnpm
The best way to install node
is to download the installer from their site. This repo requires node
version 18.16
, which is the latest LTS version.
If you already have a different version of node
installed, but don't want to update globally, you can install a package called nvm
, which will allow you to easily switch node
versions. Once you have nvm
installed (or if you already have it installed), you can run nvm use
in the main directory and it will install the proper version of node
.
pnpm
is a package manager that is used to install the rest of our dependencies.
Read more about pnpm
on their docs site.
The best way to install pnpm
for this project is by using Corepack, a new feature bundled with Node.
Install pnpm via corepack with the following commands:
corepack enable
corepack prepare
Then follow the normal nextjs instructions:
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
pnpm dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Inter, a custom Google Font.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.