1、全栈概览与环境搭建:Node.js与React简介、全栈项目架构、开发环境配置(VSCode、Node、npm/yarn)、创建第一个React应用
1.1 全栈开发到底在讲什么?
说实话,很多新手一听到「全栈」两个字就发怵。其实没那么玄乎。
全栈开发,说白了就是一个人能搞定前端和后端。前端你看到的页面、按钮、动画,后端处理数据、登录、存储。React管前端,Node.js管后端,两者通过API通信。
我刚开始带团队的时候,发现一个有意思的现象:前端工程师不懂后端怎么存数据,后端工程师不知道前端怎么渲染页面。结果呢?联调的时候天天吵架。后来我要求团队每个人都必须懂一点对方的领域——嗯,这就是全栈的价值。
你想想看,如果你能一个人打通整个链路,从数据库设计到页面交互全包了,那你在团队里的话语权完全不一样。
1.2 Node.js 与 React:为什么是它们?
选技术栈就像选工具,顺手最重要。
Node.js 是什么?它不是一门新语言,而是让 JavaScript 跑在服务器上的运行时环境。以前 JavaScript 只能在浏览器里玩,Node.js 把它带到了后端。
我个人习惯用 Node.js 做后端,原因很简单:
- 前后端都用 JavaScript,减少上下文切换
- npm 生态太强大了,几乎你能想到的功能都有现成的包
- 异步非阻塞 I/O,处理高并发请求很轻松
React 呢?它是 Facebook 开源的 UI 库。注意,我说的是「库」不是「框架」。React 只关心视图层,怎么组织代码是你的事。
我在项目中遇到过很多次这样的场景:产品经理说「这个页面要加个实时更新的数据面板」。如果用传统 jQuery,你得手动操作 DOM,代码很快就变成一坨。但 React 的组件化 + 状态管理,改个数据就自动重新渲染——省心太多了。
核心概念速览:
- 组件化:页面拆成独立的小块,每个块只管自己的事
- 单向数据流:数据从父组件流向子组件,清晰可追踪
- 虚拟 DOM:React 在内存里维护一个轻量级的 DOM 副本,只更新真正变化的部分
1.3 全栈项目架构长什么样?
一个典型的全栈项目,目录结构大概是这样的:
my-fullstack-app/
├── client/ # React 前端
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── services/ # API 调用
│ │ └── App.js
│ └── package.json
├── server/ # Node.js 后端
│ ├── routes/
│ ├── models/
│ ├── controllers/
│ ├── config/
│ └── package.json
└── README.md
为什么要分 client 和 server?
我曾经接手过一个项目,前后端代码混在一起,那个乱啊...改个前端路由结果把后端接口搞崩了。所以从一开始就分开,各管各的,互不干扰。
前后端通过 HTTP 请求通信。前端发请求,后端处理完返回 JSON 数据。就这么简单。
我的建议: 刚开始学的时候,别急着搞 monorepo 或者微服务。老老实实分成两个文件夹,跑两个端口。等熟练了再考虑更复杂的架构。
1.4 开发环境配置:一步都不能错
环境配置是很多新手的第一道坎。我见过太多人卡在这一步,然后怀疑自己是不是不适合写代码。别急,一步步来。
1.4.1 VSCode:你的主战场
编辑器我推荐 VSCode,免费、轻量、插件丰富。装好之后,建议先装这几个插件:
| 插件名 | 作用 |
|---|---|
| ESLint | 代码规范检查,帮你写出干净的代码 |
| Prettier | 自动格式化代码,团队协作必备 |
| React Developer Tools | 调试 React 组件的神器 |
| GitLens | 查看代码历史,谁改了什么都一清二楚 |
1.4.2 Node.js 安装
去官网下载 LTS 版本。LTS 就是长期支持版,稳定,适合生产环境。
安装完成后,打开终端验证:
node -v
# 输出类似 v18.17.0
npm -v
# 输出类似 9.6.7
看到版本号就说明装好了。如果报错,大概率是环境变量没配好。Windows 用户检查一下系统变量里有没有 Node.js 的路径。
注意: 不要用最新版 Node.js!我踩过这个坑。最新版可能有些包还没适配,跑起来全是警告。LTS 版本最稳。
1.4.3 npm 还是 yarn?
两者都是包管理工具。npm 是 Node.js 自带的,yarn 是 Facebook 出的。
我个人习惯用 yarn,原因就一个:快。yarn 有缓存机制,同一个包装第二次几乎是秒装。而且 yarn.lock 文件能保证团队所有人装的版本一致。
安装 yarn:
npm install -g yarn
验证:
yarn --version
当然,用 npm 也没问题。选你顺手的就行。
1.5 创建第一个 React 应用
终于到了动手环节。别紧张,跟着我一步步来。
1.5.1 使用 Create React App
最快速的方式是用官方脚手架:
npx create-react-app my-first-app
cd my-first-app
npm start
等几秒钟,浏览器会自动打开 http://localhost:3000,你会看到一个 React 的默认页面。
为什么会用 npx 而不是 npm?npx 会临时下载 create-react-app 并执行,不会全局安装。用完就删,不占空间。
1.5.2 项目结构解读
打开项目,你会看到这些文件和文件夹:
my-first-app/
├── public/
│ └── index.html # 入口 HTML
├── src/
│ ├── App.js # 根组件
│ ├── App.css
│ ├── index.js # 入口 JS
│ └── index.css
├── package.json
└── README.md
index.js 是入口文件,它把 App 组件渲染到 public/index.html 里的 div#root 上。
App.js 就是你的第一个组件。打开看看:
import React from 'react';
import './App.css';
function App() {
return (
<div className="App">
<h1>Hello, 全栈开发!</h1>
</div>
);
}
export default App;
看到没?一个组件就是一个函数,返回 JSX。JSX 看起来像 HTML,但其实是 JavaScript 的语法扩展。
1.5.3 热更新体验
现在把 App.js 里的文字改成「我的第一个 React 应用」,保存。浏览器会自动刷新,不需要手动操作。
这就是热更新(Hot Module Replacement)。我在项目中特别喜欢这个功能,改完代码立刻看到效果,开发效率翻倍。
小技巧: 如果你不想让浏览器自动打开,可以在启动时加个参数:BROWSER=none npm start。我自己就是这么干的,省得每次弹窗。
1.6 本章小结
这一章我们做了几件事:
- 理解了全栈开发的核心概念
- 知道了 Node.js 和 React 为什么是黄金搭档
- 搭建了完整的开发环境
- 创建并运行了第一个 React 应用
环境搭好了,接下来就可以真正开始写代码了。下一章我们会深入 React 的核心——组件和 JSX。到时候你会发现自己写的东西开始「活」起来了。
嗯,先到这。去喝杯水,活动一下脖子。写代码是场马拉松,别一开始就冲刺。