做个能跑起来的个人博客
别一上来就想着做微博或知乎那样的大平台。先从最简单的开始:一个能写文章、存进数据库、别人能访问的个人博客。前端用 React 或 Vue 搭个界面,后端用 Node.js + Express 写接口,数据库选 MongoDB 或 MySQL 都行。用户点开你的域名,能看到你昨天写的《如何煮好一碗泡面》,这就成了。
技术组合示例
前端:Vue 3 + Vue Router + Axios
后端:Node.js + Express
数据库:MongoDB(配合 Mongoose)
部署:Nginx + Ubuntu 云服务器
做一个带登录的待办事项应用
这个项目逼你处理真实用户场景。注册、登录、JWT 鉴权、数据按用户隔离——这些在培训班里常被跳过,但实际开发中躲不掉。你可以加个邮箱验证,或者用微信扫码登录,功能不用多,但流程要走通。
比如用户点了“删除”,结果删了别人的任务?这种 bug 只有自己搭完整系统才会踩到。线上测试时发现,凌晨三点改了个中间件,第二天早上收到用户邮件说“昨晚登不上了”,这种压力比考试还管用。
代码片段参考
<script>
axios.post('/api/login', {
email: 'user@example.com',
password: '123456'
}).then(res => {
localStorage.setItem('token', res.data.token);
window.location.href = '/dashboard';
});
</script>
搞个电商小前台 + 管理后台
上点复杂度。前端做个商品列表页,点击进入详情,加入购物车(不需要真支付)。管理后台用 Element Plus 或 Ant Design 搭一个,能上传商品、看订单状态就行。
这时候你会遇到文件上传、图片预览、分页查询、模糊搜索。后端要写多表关联,比如订单和用户信息一起查出来。部署时前后端分开打包,Nginx 配个反向代理,突然就懂为啥公司项目要拆成好几个服务了。
实时聊天功能嵌入项目
给之前的博客或电商项目加个在线客服窗口。用 WebSocket 或 Socket.IO 实现消息实时收发。用户在网页右下角点开小弹窗,你那边马上收到“您好,请问泡面怎么煮?”。
这一步教会你处理长连接、心跳机制、消息存储。上线后发现服务器内存蹭蹭涨?恭喜,你遇到了连接未释放的经典问题。
部署到自己的服务器,别只靠本地运行
很多教程讲到 npm start 就结束了。但真正的全栈项目得让人从外网访问。买个百元内的云服务器,域名花几十块备案,把项目跑上去。配置 HTTPS、设置自动重启(pm2)、看日志排错,这些才是职场日常。
朋友打开你做的网站,说“你这加载有点慢”,你才意识到没开 gzip 压缩。这种反馈比任何评分都真实。
开源项目别光 star,动手改
找一个 GitHub 上的全栈项目,比如一个开源博客系统,fork 下来,改主题颜色、加个新功能、修个文档错别字,然后提 PR。你会发现别人的代码风格和你不一样,README 写得不清不楚,但这就是真实世界的协作。
有人评论说“这个功能没必要”,你得解释清楚为什么加。沟通能力也是全栈的一部分。