📖 Scenario: You want to start a new website project using Next.js, a popular React framework. To do this, you need to set up the basic files and folders that Next.js requires to run your app.
🎯 Goal: Build the initial Next.js app structure with the main app folder and a simple homepage component.
📋 What You'll Learn
Create the app folder inside the project root
Create a page.tsx file inside the app folder
Write a functional React component named Page that returns a heading with the text 'Welcome to Next.js!'
Export the Page component as the default export
💡 Why This Matters
🌍 Real World
Starting a Next.js project requires setting up the app folder and main files to organize pages and layouts.
💼 Career
Knowing how to set up a Next.js app is essential for frontend developers working with React and modern web frameworks.
Progress0 / 4 steps
1
Create the app folder
Create a folder named app in the root of your Next.js project. This folder will hold your application pages and components.
NextJS
Hint
In your project directory, create a new folder called app.
2
Create the page.tsx file
Inside the app folder, create a file named page.tsx. This file will be the main homepage of your Next.js app.
NextJS
Hint
Write a React functional component named Page that returns an <h1> heading with the text 'Welcome to Next.js!'. Export it as default.
3
Add metadata configuration
In the app folder, create a file named metadata.ts. Inside it, export a constant named metadata with a title property set to 'Next.js App'.
NextJS
Hint
Create a file metadata.ts exporting a constant metadata with a title property set to 'Next.js App'.
4
Add the root layout file
Inside the app folder, create a file named layout.tsx. Write a React functional component named RootLayout that accepts children as a prop and returns an html element with a body containing the children. Export RootLayout as the default export.
NextJS
Hint
Create a RootLayout component that wraps its children inside <html> and <body> tags. Export it as default.
Practice
(1/5)
1. What does the command npx create-next-app@latest do when setting up a Next.js project?
easy
A. It creates a new Next.js project with default settings and dependencies installed.
B. It updates an existing Next.js project to the latest version.
C. It runs the Next.js development server immediately.
D. It installs only React without Next.js features.
Solution
Step 1: Understand the purpose of npx create-next-app@latest
This command scaffolds a new Next.js project with all necessary files and dependencies.
Step 2: Differentiate from other commands
It does not update or run servers; it only creates a fresh project setup.
Final Answer:
It creates a new Next.js project with default settings and dependencies installed. -> Option A
Quick Check:
Project creation = A [OK]
Hint: Remember: create-next-app sets up a new project [OK]
Common Mistakes:
Confusing create-next-app with update commands
Thinking it runs the server automatically
Assuming it installs only React
2. Which of the following is the correct command to start the Next.js development server after creating the app?
easy
A. npm start
B. npm run dev
C. next dev
D. node server.js
Solution
Step 1: Identify the standard Next.js development command
After setup, npm run dev starts the development server with hot reload.
Step 2: Compare with other commands
npm start is usually for production, next dev is a lower-level command but not standard npm script, and node server.js is unrelated here.
Final Answer:
npm run dev -> Option B
Quick Check:
Dev server start = A [OK]
Hint: Use npm run dev to start Next.js dev server [OK]
Common Mistakes:
Using npm start instead of npm run dev
Trying to run node server.js without setup
Confusing next dev with npm scripts
3. After running npx create-next-app@latest my-app and then cd my-app followed by npm run dev, what will you see when you open http://localhost:3000 in your browser?
medium
A. A blank white page with no content.
B. A list of files in the project directory.
C. An error message saying the server is not running.
D. A Next.js welcome page with links to documentation and examples.
Solution
Step 1: Understand default Next.js app behavior
The default Next.js app shows a welcome page with helpful links after setup and running dev server.
Step 2: Eliminate other options
Blank page means no content, error means server not running, and file list is not default behavior.
Final Answer:
A Next.js welcome page with links to documentation and examples. -> Option D
Quick Check:
Default page = B [OK]
Hint: Default Next.js app shows welcome page on localhost:3000 [OK]
Common Mistakes:
Expecting a blank page instead of welcome content
Assuming server is not running after npm run dev
Thinking file list is shown by default
4. You ran npx create-next-app@latest but when you try npm run dev, you get an error: command not found: next. What is the likely cause?
medium
A. You ran npm run dev outside the project folder.
B. You need to restart your computer after installation.
C. You forgot to install Node.js on your system.
D. Your internet connection is down.
Solution
Step 1: Analyze the error message
The error command not found: next usually means the Next.js binary is not found in current folder's node_modules.
Step 2: Check common causes
This happens if you run npm run dev outside the project directory where dependencies are installed.
Final Answer:
You ran npm run dev outside the project folder. -> Option A
Quick Check:
Run commands inside project folder = C [OK]
Hint: Always run npm scripts inside your project folder [OK]
Common Mistakes:
Assuming Node.js is not installed when it is
Restarting computer unnecessarily
Blaming internet connection for local command errors
5. You want to create a new Next.js app named blog but also want to use TypeScript from the start. Which command should you run?
hard
A. npx create-next-app@latest blog --use-typescript
B. npx create-next-app@latest blog -ts
C. npx create-next-app@latest blog --typescript
D. npx create-next-app@latest blog --ts
Solution
Step 1: Recall official flag for TypeScript setup
The official flag to create a Next.js app with TypeScript is --typescript.
Step 2: Verify other options
Short flags like -ts or --ts are not recognized, and --use-typescript is invalid.
Final Answer:
npx create-next-app@latest blog --typescript -> Option C
Quick Check:
Use --typescript flag = D [OK]
Hint: Use --typescript flag to create TS Next.js app [OK]
Common Mistakes:
Using incorrect or shorthand flags
Assuming TypeScript is default without flag
Trying unsupported flag names
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.