从零到一:AI 全栈开发入门 —— 构建一个简单的用户聊天系统
前言
大家好!今天我要分享一个非常实用的全栈入门项目 —— 用户聊天系统(实际演示为用户管理表格)。通过这个项目,你将掌握前后端分离开发的核心流程,非常适合刚接触全栈开发的同学学习。
项目概览
本项目采用 前后端分离 的模块化架构:
- 前端(
fe/) :负责用户界面与交互逻辑 - 后端(
backend/) :负责数据服务与 API 接口
注:本文示例以“用户信息管理”代替聊天功能,便于快速理解数据流转。
一、前端开发:三件套的艺术
1.1 HTML —— 语义化结构
HTML 决定了页面的结构,就像建筑的骨架。需要掌握两个重点:
块级元素 vs 行内元素
- 块级元素(如
div、header、main):占满整行,用于构建布局盒子 - 行内元素(如
span、a、img):多个可并排显示,用于包裹内容
语义化标签的重要性
避免满屏 <div>,推荐使用以下语义标签:
<header>—— 页头<footer>—— 页脚<main>—— 主要内容区<aside>—— 侧边栏<table>+<thead>/<tbody>—— 表格结构
语义化不仅让代码更易读,也有利于 SEO 和可访问性。
示例代码
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>用户管理系统</title>
<!-- 引入 Bootstrap 3 快速布局 -->
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<header>页面头部</header>
<main class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<table class="table table-striped" id="user-table">
<thead>
<tr><th>ID</th><th>姓名</th><th>家乡</th><th>昵称</th></tr>
</thead>
<tbody>
<!-- 动态插入数据 -->
</tbody>
</table>
</div>
</div>
</main>
<footer>页面底部</footer>
<script src="./common.js"></script>
</body>
</html>
1.2 CSS —— 使用 Bootstrap 快速布局
我们使用 Twitter Bootstrap 框架提供的栅格系统,主要包括三个核心类:
.container—— 固定宽度容器,左右留白.row—— 定义一行.col-*-*—— 定义列宽,轻松实现响应式布局
1.3 JavaScript —— DOM 编程与数据交互
JavaScript 负责动态交互,核心知识点包括:
DOM 操作
document.querySelector()—— 通过选择器获取元素innerHTML—— 动态修改元素内容
Fetch API 获取后端数据
javascript
let users = [];
fetch('http://localhost:3000/users')
.then(response => response.json())
.then(data => {
users = data;
const tbody = document.querySelector('.table tbody');
let index = 1;
for (let user of users) {
tbody.innerHTML += `
<tr>
<td>${index}</td>
<td>${user.name}</td>
<td>${user.hometown}</td>
<td>${user.nickname}</td>
</tr>
`;
index++;
}
});
二、后端开发:Node.js + json-server
为了快速搭建 REST API 后端,我们使用 json-server 工具,它可以将一个 JSON 文件瞬间变成完整的 API 服务。
2.1 项目初始化
bash
npm init -y # 生成 package.json
npm install json-server # 安装 json-server
2.2 配置启动脚本
在 package.json 中添加:
json
{
"scripts": {
"dev": "json-server --watch db.json --port 3000"
}
}
2.3 创建数据文件 db.json
json
{
"users": [
{ "id": 1, "name": "李明", "hometown": "南昌", "nickname": "东理歌手" },
{ "id": 2, "name": "王航", "hometown": "南昌", "nickname": "航哥" },
{ "id": 3, "name": "张庆", "hometown": "信丰", "nickname": "橙帅" }
]
}
启动后端服务:
bash
npm run dev
访问 http://localhost:3000/users 即可看到 JSON 数据。
三、模块化设计思想
本项目强调 模块化设计 的重要性:
- 每个文件夹有明确的职责(前端 / 后端)
- 每个文件只做一件事(单一职责原则)
- 便于后期维护、扩展和代码复用
四、大厂面试高频知识点
面试中经常考察以下底层基础:
- HTML 语义化标签(header、footer、main、aside 等)
- JavaScript DOM 编程(选择器、动态内容插入)
- 模块化动态渲染 HTML(innerHTML 或 createElement)
- 理解 DOM 树结构与操作性能
总结
通过这个简单的全栈项目,我们学到了:
- ✅ 前后端分离的架构思想
- ✅ HTML 语义化与 DOM 编程
- ✅ Bootstrap 栅格系统实现快速布局
- ✅ json-server 快速搭建后端 API
- ✅ 模块化设计原则
希望这篇文章能帮助你顺利入门全栈开发!有任何疑问,欢迎在评论区交流讨论。