Appearance
第2章:前端与开发环境前置准备
2.1 必备基础回顾(React 核心语法、ES6+、Node.js 基础)
React 核心语法
组件
jsx
// 函数组件
function HelloWorld() {
return <h1>Hello, World!</h1>;
}
// 类组件
class HelloWorldClass extends React.Component {
render() {
return <h1>Hello, World!</h1>;
}
}Props
jsx
function Greeting({ name }) {
return <h1>Hello, {name}!</h1>;
}
// 使用
<Greeting name="John" />State
jsx
import { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}Hooks
jsx
import { useState, useEffect } from 'react';
function Timer() {
const [time, setTime] = useState(0);
useEffect(() => {
const interval = setInterval(() => {
setTime(prevTime => prevTime + 1);
}, 1000);
return () => clearInterval(interval);
}, []);
return <p>Time: {time} seconds</p>;
}ES6+ 语法
箭头函数
javascript
// 传统函数
function add(a, b) {
return a + b;
}
// 箭头函数
const add = (a, b) => a + b;解构赋值
javascript
// 对象解构
const person = { name: 'John', age: 30 };
const { name, age } = person;
// 数组解构
const numbers = [1, 2, 3];
const [first, second, third] = numbers;模板字符串
javascript
const name = 'John';
const greeting = `Hello, ${name}!`;async/await
javascript
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
} catch (error) {
console.error('Error fetching data:', error);
}
}模块化
javascript
// 导出
export const add = (a, b) => a + b;
export default function subtract(a, b) {
return a - b;
}
// 导入
import subtract, { add } from './math';Node.js 基础
npm 命令
bash
# 初始化项目
npm init
# 安装依赖
npm install <package-name>
# 安装开发依赖
npm install --save-dev <package-name>
# 运行脚本
npm run <script-name>package.json
json
{
"name": "my-project",
"version": "1.0.0",
"description": "My project",
"main": "index.js",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"next": "^14.0.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
}
}2.2 开发工具安装:VS Code + 必备插件(ESLint、Prettier、Next.js 插件)
VS Code 安装
- 下载 VS Code:访问 Visual Studio Code 官网 下载并安装
- 安装完成后:打开 VS Code,开始安装插件
必备插件
ESLint
- 作用:代码检查工具,帮助发现和修复代码中的问题
- 安装:在 VS Code 扩展面板中搜索 "ESLint" 并安装
- 配置:在项目根目录创建
.eslintrc.js文件
javascript
module.exports = {
extends: [
'next/core-web-vitals',
],
};Prettier
- 作用:代码格式化工具,保持代码风格一致
- 安装:在 VS Code 扩展面板中搜索 "Prettier" 并安装
- 配置:在项目根目录创建
.prettierrc文件
json
{
"semi": true,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "es5"
}Next.js 插件
- 作用:提供 Next.js 项目的语法高亮和智能提示
- 安装:在 VS Code 扩展面板中搜索 "Next.js" 并安装
其他推荐插件
- React Developer Tools:React 调试工具
- Path Intellisense:路径自动补全
- GitLens:Git 增强工具
- Code Spell Checker:拼写检查
2.3 环境配置:Node.js 18+ 版本要求、pnpm/npm/yarn 选型与配置
Node.js 安装
- 下载 Node.js:访问 Node.js 官网 下载并安装 Node.js 18+ 版本
- 验证安装:打开终端,运行
node -v查看 Node.js 版本 - 验证 npm:运行
npm -v查看 npm 版本
包管理器选型
npm(Node Package Manager)
- 默认包管理器:Node.js 内置
- 使用命令:bash
npm install npm run dev
pnpm(Performant npm)
- 优势:更快的安装速度,更小的磁盘占用
- 安装:bash
npm install -g pnpm - 使用命令:bash
pnpm install pnpm dev
yarn
- 优势:稳定的依赖管理,缓存机制
- 安装:bash
npm install -g yarn - 使用命令:bash
yarn install yarn dev
环境变量配置
- 创建 .env.local 文件:在项目根目录创建
.env.local文件 - 添加环境变量:
txt
# .env.local
NEXT_PUBLIC_API_URL=https://api.example.com
API_SECRET_KEY=your-secret-key- 使用环境变量:
javascript
// 客户端
const apiUrl = process.env.NEXT_PUBLIC_API_URL;
// 服务端
const secretKey = process.env.API_SECRET_KEY;2.4 浏览器调试工具:React Developer Tools、Next.js 调试技巧
React Developer Tools
- 安装:在浏览器扩展商店搜索 "React Developer Tools" 并安装
- 使用:
- Components 标签:查看组件树,检查 props 和 state
- Profiler 标签:分析组件性能
Next.js 调试技巧
控制台调试
javascript
// 在代码中添加 console.log
console.log('Debug information:', variable);
// 使用 console.table 查看对象
console.table(data);
// 使用 console.error 查看错误
console.error('Error:', error);断点调试
- 在 VS Code 中设置断点:点击代码行号左侧添加断点
- 启动调试:按 F5 启动调试模式
- 单步执行:使用 F10(单步跳过)、F11(单步进入)、Shift+F11(单步退出)
开发工具网络面板
- 查看网络请求:在浏览器开发者工具的 Network 标签中查看 API 请求
- 分析请求详情:查看请求头、响应头、响应内容
- 模拟网络条件:模拟慢速网络,测试加载状态
2.5 第一个 Next.js 程序:在线 playground 快速体验(无需本地配置)
使用 Next.js Playground
- 访问 Next.js Playground:打开 https://nextjs.org/playground
- 体验示例代码:
- 查看默认的示例代码
- 修改代码,实时查看效果
- 了解 Next.js 的基本结构
在线创建 Next.js 项目
- 使用 Vercel:访问 https://vercel.com/new
- 选择 Next.js:在模板列表中选择 Next.js
- 创建项目:跟随向导创建项目,自动部署到 Vercel
- 访问项目:获取部署后的 URL,查看在线效果
本地快速体验
使用 create-next-app:
bashnpx create-next-app@latest my-next-app --experimental-app进入项目目录:
bashcd my-next-app启动开发服务器:
bashnpm run dev访问应用:打开浏览器,访问
http://localhost:3000查看示例代码:
app/page.js:首页组件app/layout.js:布局组件app/globals.css:全局样式
小结
本章介绍了 Next.js 开发的前置准备工作,包括 React 核心语法、ES6+ 语法、Node.js 基础、开发工具安装、环境配置以及浏览器调试工具。通过本章的学习,你应该已经为 Next.js 项目的开发做好了准备。
在开始 Next.js 项目开发之前,确保你已经:
- 掌握了 React 核心概念和 ES6+ 语法
- 安装了 Node.js 18+ 版本
- 选择并配置了合适的包管理器
- 安装了 VS Code 和必备插件
- 了解了浏览器调试工具的使用
接下来,我们将学习 Next.js 项目的创建与目录解析,开始正式的 Next.js 开发之旅。
