96SEO 2026-09-09 06:08 4
前面十几节课,我基本都在写前端:组件、路由、Canvas、ESLint、Next.js 全栈。老实说,代码越写越多,但每次和后端打交道还是发虚——接口怎么组织?业务逻辑放哪一层,为什么后端框架一上来就满屏 @ 装饰器?
这节课第一次正式往后端走一步。工具是 Nest.js,

笔记翻完一遍,我发现这节课表面是「学一个后端框架」。实际是用 Nest.js 当样本,把三种设计模式和依赖注入一次讲清楚——工厂模式、MVC、装饰器、DI,外加一个 Restful 思想。Nest.js 只是这些思想的载体。
@Module @Controller @Injectable @Get 等等 时不知它们到底代表什么。按理说,Nest.js 的定位是:
# 全局安装 CLI 并创建项目:
npm i -g @nestjs/cli
nest new hello
nest start
Nest 自动生成 /src/main.ts 与 /src/app.module.ts。说起来,CLI 提供常用脚本如 build/start/dev/debug/prod/lint/test 等。至于主要依赖包括,
NestFactory.Tip: 记得在 tsconfig.json 中开启 “experimentalDecorators” 与 “emitDecoratorMetadata”。
*痛点*: 每次需要创建不同类型的应用时都得手动 new。一旦变化就需要改大量代码。*
工厂模式: 将对象创建封装到工厂中。让调用方只关心“需要什么”,而不管“怎么创建”。从**主要**来看,返回同一种抽象类型,内部可替换具体实现。
- Simplified Factory – 选型;Sub-Factories – 子类化 Abstract Factory – 一族产品产出。 &nsp
const app = await NestFactory.create;await app.listen;
@ 符号让人迷惑。| 装饰器 | 用途 |
|---|---|
@Module |
声明模块及其依赖 |
@Controller |
声明控制器及路由前缀 |
@Injectable |
注册可被注入的服务 |
@Get / @Post / ... |
标记 HTTP 方法 |
ts
@Module({
imports:。controllers:,providers:,})
export class AppModule {}
ts
// 正确方式:
constructor {}
幕后原理
@Injectable 注解被保存在元数据中;| HTTP 方法 | 方法 | 装饰器 | 参数来源 | Service 方法 |
|---|---|---|---|---|
| GET | /todos |
@Get |
N/A | findAll |
| GET | /todos/:id |
@Get| @Param| findOne |
||
| POST | /todos |
@Post |
@Body| create |
|
| PATCH | /todos/:id |
@Patch| 两者 |
_update | |
| DELETE | /todos/:id |
@Delete| |
remove |
ts @Injectable export class TodosService { private todos: Todo =;
findAll: Todo { return this.todos;} findOne: Todo { const todo = this.todos.find;其实,if throw new NotFoundException;return todo,} create的观点是,Todo { /.../ } }
ts
if throw new NotFoundException;
效果
json
{
"statusCode":404,"message":"Todo XXX not found"
}
1️⃣ 工厂模式 → 解耦应用创建 2️⃣ MVC 分层 → 清晰职责划分 3️⃣ 装饰器 → 声明式配置 4️⃣ DI → 对象生命周期管理 5️⃣ RESTful → 明确接口语义
将上述五件事组合成一条主线,你就能从“看不见的接口”和“无序的业务”走向“可维护、高效协作”的后端工程师状态。
| #术语名称 #说明 #示例 #备注 #链接 #类别 #是否必学 #难易度 #推荐学习顺序 #学习资源数目 | |||||||
|---|---|---|---|---|---|---|---|
| #END#TermList#END# TermList End!怎么说呢, | |||||||
| #END#TermTable#END# TermTable End! | |||||||
| #END#TermInfoTable#END# TermInfoTable End!不过, | |||||||
bash
npm i -g @nestjs/cli && \
nest new my-app && \
cd my-app && \
nest start --watch &
💡 想要更快地掌握 NestJS。请先熟悉 TypeScript 基础与 NodeJS 异步模型,接下来再逐步拆解上述五大关键概念。祝编码愉快,
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback