<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Node.js | 技术作品集</title><link>https://example.pages.dev/tags/node.js/</link><atom:link href="https://example.pages.dev/tags/node.js/index.xml" rel="self" type="application/rss+xml"/><description>Node.js</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>zh-Hans</language><lastBuildDate>Tue, 10 Dec 2024 00:00:00 +0000</lastBuildDate><image><url>https://example.pages.dev/media/icon_hu_da05098ef60dc2e7.png</url><title>Node.js</title><link>https://example.pages.dev/tags/node.js/</link></image><item><title>用 Node.js 与 Express 构建可上线的 REST API</title><link>https://example.pages.dev/blog/building-rest-api/</link><pubDate>Tue, 10 Dec 2024 00:00:00 +0000</pubDate><guid>https://example.pages.dev/blog/building-rest-api/</guid><description>&lt;p&gt;很多 API 在本地开发阶段看起来没有问题，但一旦进入真实环境，就会暴露出认证、校验、错误处理和文档缺失的问题。真正可上线的 API，重点不是“能跑”，而是“能维护、能扩展、能排查”。&lt;/p&gt;
&lt;h2 id="1-先把目录结构和边界划清"&gt;1. 先把目录结构和边界划清&lt;/h2&gt;
&lt;p&gt;建议至少把配置、路由、控制器、服务层、中间件和校验逻辑拆开。这样做的价值不是形式上的分层，而是让业务逻辑不会散落在每个接口文件里，后续测试和重构都更可控。&lt;/p&gt;
&lt;h2 id="2-认证与鉴权尽量前置"&gt;2. 认证与鉴权尽量前置&lt;/h2&gt;
&lt;p&gt;接口一多，权限模型就会迅速复杂。把令牌解析、身份校验、角色判断放到中间件层处理，能避免大量重复代码，也方便统一返回错误格式。&lt;/p&gt;
&lt;h2 id="3-错误处理必须集中收口"&gt;3. 错误处理必须集中收口&lt;/h2&gt;
&lt;p&gt;不要在每个接口里各写一套 &lt;code&gt;try/catch&lt;/code&gt;。更合理的方式是定义业务错误类型，再通过统一错误处理中间件输出稳定的状态码和错误消息。这样做对日志检索、监控告警和前端联调都更友好。&lt;/p&gt;
&lt;h2 id="4-输入校验不要依赖约定"&gt;4. 输入校验不要依赖“约定”&lt;/h2&gt;
&lt;p&gt;参数校验应当在进入业务逻辑之前完成，包括 &lt;code&gt;body&lt;/code&gt;、&lt;code&gt;query&lt;/code&gt; 和 &lt;code&gt;params&lt;/code&gt;。不论使用 Zod、Joi 还是其他方案，关键是把校验规则显式化，避免非法数据进入数据库或核心逻辑。&lt;/p&gt;
&lt;h2 id="5-文档与测试是上线前的最低保障"&gt;5. 文档与测试是上线前的最低保障&lt;/h2&gt;
&lt;p&gt;接口文档至少需要说明输入、输出、错误码和鉴权方式。测试不一定一开始就追求很高覆盖率，但登录、权限、关键写操作和异常分支至少要被覆盖。&lt;/p&gt;
&lt;h2 id="结语"&gt;结语&lt;/h2&gt;
&lt;p&gt;如果你把目录组织、鉴权、校验、错误处理和文档这几件事从一开始就做好，后续增加业务功能会顺畅很多，API 的维护成本也会低不少。&lt;/p&gt;</description></item><item><title>电商平台</title><link>https://example.pages.dev/projects/ecommerce-platform/</link><pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate><guid>https://example.pages.dev/projects/ecommerce-platform/</guid><description>&lt;p&gt;这是一个面向真实业务流程的电商平台项目，重点解决商品管理、支付接入、库存一致性与订单履约问题。&lt;/p&gt;
&lt;h2 id="项目概览"&gt;项目概览&lt;/h2&gt;
&lt;p&gt;项目覆盖商品展示、购物车、下单支付、后台运营等核心环节，目标是在保证体验的同时兼顾性能、可维护性和稳定性。&lt;/p&gt;
&lt;h2 id="核心能力"&gt;核心能力&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;商品检索、筛选与详情展示&lt;/li&gt;
&lt;li&gt;购物车与实时价格计算&lt;/li&gt;
&lt;li&gt;支付回调、订单状态流转与通知&lt;/li&gt;
&lt;li&gt;库存同步、预警与后台管理&lt;/li&gt;
&lt;li&gt;面向运营的订单处理与数据看板&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="技术要点"&gt;技术要点&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;使用缓存与数据库优化降低热点查询压力&lt;/li&gt;
&lt;li&gt;拆分核心业务链路，减少耦合并提升扩展性&lt;/li&gt;
&lt;li&gt;为支付、订单状态机和异常重试增加保护机制&lt;/li&gt;
&lt;li&gt;通过自动化部署与监控提升交付稳定性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="项目结果"&gt;项目结果&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;明显改善首屏加载与接口响应速度&lt;/li&gt;
&lt;li&gt;在活动流量下保持核心链路可用&lt;/li&gt;
&lt;li&gt;降低库存超卖与支付异常带来的业务风险&lt;/li&gt;
&lt;li&gt;为后续营销、推荐与数据化运营打下基础&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>