Welcome to the Next.js documentation!
If you're new to Next.js we recommend that you start with the learn course.
The interactive course with quizzes will guide you through everything you need to know to use Next.js.
If you have questions about anything related to Next.js, you're always welcome to ask our community on GitHub Discussions.
We recommend creating a new Next.js app using create-next-app
, which sets up everything automatically for you. To create a project, run:
npm init next-app
# or
yarn create next-app
After the installation is complete, follow the instructions to start the development server. Try editing pages/index.js
and see the result on your browser.
Install next
, react
and react-dom
in your project:
npm install next react react-dom
Open package.json
and add the following scripts
:
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
}
These scripts refer to the different stages of developing an application:
dev
- Runs next
which starts Next.js in development modebuild
- Runs next build
which builds the application for production usagestart
- Runs next start
which starts a Next.js production serverNext.js is built around the concept of pages. A page is a React Component exported from a .js
, .jsx
, .ts
, or .tsx
file in the pages
directory.
Pages are associated with a route based on their file name. For example pages/about.js
is mapped to /about
. You can even add dynamic route parameters with the filename.
Create a pages
directory inside your project.
Populate ./pages/index.js
with the following contents:
function HomePage() {
return <div>Welcome to Next.js!</div>
}
export default HomePage
To start developing your application run npm run dev
. This starts the development server on http://localhost:3000
.
Visit http://localhost:3000
to view your application.
So far, we get:
./pages/
./public/
is mapped to /
For more information on what to do next, we recommend the following sections: