Dotnet、Nx、AnalogJs(Angular)技术栈来了 - 第二部分
内容提要
在上一篇文章中,我们设置了NX工作空间,生成了Analog应用程序和.NET应用程序,并使用C#和Entity Framework构建了API。现在,我们将继续开发我们的笔记应用程序,因为拥有一个稳定的笔记应用程序是必不可少的。我们将使用AnalogJS中的API Routes功能来集成前端和后端,并使用HttpClient来消费我们创建的API路由。这个例子展示了.NET后端、NX工具和Angular与AnalogJS的强大组合。
延伸解读
从 tRPC 迁移到 HttpClient 的关键步骤
文章展示了如何移除 tRPC 相关文件(如 trpc-client.ts 和 server/trpc 目录),并在组件中改用 Angular 的 HttpClient。同时,需要更新 main.server.ts 和 app.config.ts,引入 provideServerContext 和 requestContextInterceptor,使 Analog 应用能正确识别 API 路由。这一迁移过程体现了 AnalogJS 对多种数据获取方式的灵活支持。
服务端 API 路由的设计与错误处理
在 apps/notes/src/server/routes/v1 下创建了 notes.get.ts、notes.post.ts 和 notes/[id].delete.ts,分别处理获取、添加和删除笔记的请求。这些路由通过 $fetch 调用 .NET 后端 API,并统一使用 error.ts 中的 handleFetchError 处理错误,确保前端请求的健壮性。这种结构清晰地将前端请求转发到后端,简化了通信。
运行与调试的注意事项
文章强调运行顺序:先启动 .NET 后端(nx serve api),再启动前端(nx serve notes),以避免错误。如果遇到 Nx 相关问题,可以尝试 nx reset 重置。这些实践细节有助于开发者顺利测试整个栈的集成,减少环境配置带来的困扰。
Q&A
如何使用AnalogJS的API Routes功能?
可以通过创建服务器API路由来简化与后端的通信,包括GET、POST和DELETE请求。
笔记应用程序的基本功能有哪些?
笔记应用程序可以添加、删除和检索笔记。
如何将前端与.NET后端连接?
通过修改AnalogWelcomeComponent,移除tRPC功能,并使用HttpClient连接到新创建的API路由。
如何配置Analog应用以识别API路由?
需要更新配置文件,使用provideServerContext和requestContextInterceptor来让Analog应用识别API路由。
如何测试笔记应用程序的功能?
运行服务器和前端,使用命令nx serve api和nx serve notes来测试应用程序。
这篇文章展示了哪些技术的组合?
展示了.NET后端、Nx工具和Angular与AnalogJS的强大组合。