
Next.js 实战 (三):优雅的实现暗黑主题模式
这篇文章介绍了如何使用 `next-themes` 库在 Next.js 项目中优雅地实现暗黑主题模式。首先通过安装 `next-themes` 依赖并创建 `ThemeProvider` 组件来管理主题切换逻辑,然后在全局布局文件中引入该组件以支持系统级或手动切换主题的功能。此外,还展示了如何开发一个主题切换按钮组件,允许用户手动选择亮色或暗黑模式。

Next.js 实战 (二):搭建 Layouts 基础排版布局
这篇文章介绍了Next.js实战中搭建基础排版布局的方法,作者对比了几个组件库后选择了适合的项目,并展示了如何实现一个常规的布局结构,包括左侧菜单、顶部导航和用户操作区域以及中间的业务模块等。

Nest.js 实战 (十五):前后端分离项目部署的最佳实践
这篇文章介绍了如何部署一个采用现代前后端技术栈的分离架构项目到生产环境的最佳实践。文章以Nest.js后端和现代前端框架为例,详细描述了从安装依赖、配置数据库、上传代码到服务器,再到配置反向代理的过程。通过设置Node.js运行环境、上传前端文件并解压、配置HTTPS证书以及实现反向代理来转发API请求,最终确保前后端服务能够正常运行并被用户访问。同时,文章还提到了一些常见的部署问题及解决方法。

Nest.js 实战 (十四):如何获取客户端真实 IP
这篇文章介绍了在 Nest.js 应用中如何获取客户端的真实 IP 地址。当请求来自本地代理时,直接获取的 IP 地址可能不准确。为了解决这个问题,需要确保代理服务器设置正确的转发头(如 X-Forwarded-For 或 X-Real-IP),并在后端正确读取这些头信息。文章还提供了获取真实 IP 地址的方法,并展示了在登录接口中调用该方法的示例代码。

前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
这篇文章介绍了基于Vue3和Nest.js开发的一个全栈后台应用,适合想学习全栈开发的人员参考。前端使用了相关技术栈,后端则列出了部分技术组件。线上预览提供了一个演示环境,并给出了默认的用户名和密码。项目包含动态国际化语言配置、操作日志记录、用户角色权限管理、动态路由菜单生成、消息公告推送等功能。文章还提供了项目的安装步骤、技术要求及注意事项,强调仅用于学习交流且可能存在Bug,欢迎贡献代码和反馈问题以完善项目。

Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息
这篇文章介绍了如何在 Nest.js 应用中实现 Server-Sent Events(SSE)技术,用于服务端主动向客户端推送消息。文章以实时通信场景为例,讨论了选择 SSE 技术的原因,因其能满足高效推送和低延迟需求,且更适合服务器向客户端发送更新的场景。接着详细描述了如何通过 @Sse 装饰器和 Event Emitter 实现 SSE 功能,并展示了相关代码片段,包括创建 SSE 连接、监听事件以及处理消息推送的逻辑。

Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
这篇文章介绍了如何在 Nest.js 应用中优雅地使用事件发布/订阅模块 Event Emitter。EventEmitter 是一个基于强大库的社区模块,能够简化服务间的通信,使应用更健壮、灵活且易于扩展。文章详细讲解了安装依赖、初始化模块、发布事件以及订阅事件的具体步骤,并展示了在服务中注入 Event Emitter 并使用其方法完成事件的发布与监听的代码示例。

Nest.js 实战 (十一):配置热重载 HMR 给服务提提速
这篇文章介绍了如何在Nest.js项目中配置热重载(HMR)以提高开发效率。HMR可以减少每次修改文件后的编译时间,通过安装相关依赖和配置webpack-hmr.config.js文件,然后在主入口文件main.ts中加入相关代码来实现。文章还说明了如何在package.json中修改启动脚本以启用HMR。

Nest.js 实战 (十):使用 winston 打印和收集日志记录
这篇文章介绍了在Nest.js中使用winston进行日志记录的实战方法,说明了日志记录在后台服务的重要性,并详细讲解了如何使用Nest.js内置的Logger类和自定义日志记录器,以及如何通过依赖注入和日志中间件来管理和控制日志输出。

Nest.js 实战 (九):使用拦截器记录用户 CURD 操作日志
这篇文章介绍了如何在 Nest.js 中使用拦截器记录用户的 CURD 操作日志。通过实现 NestInterceptor 接口,拦截器可以在函数执行前后附加额外逻辑,如记录操作日志。文章还展示了如何定义日志模型(schema.prisma),包括日志的字段如操作类型、用户 ID、IP 地址等,并通过 OperationLogService 获取请求上下文以保存用户数据。

Nest.js 实战 (八):基于 JWT 的路由身份认证鉴权
这篇文章介绍了在Nest.js中如何基于JWT实现路由身份认证鉴权,详细说明了客户端使用用户名和密码认证后服务端签发JWT的过程,以及在模块中如何创建文件处理认证流程。

Nest.js 实战 (七):如何生成 SVG 图形验证码
这篇文章介绍了在 Nest.js 项目中实现生成 SVG 图形验证码的方法。首先通过安装相关依赖,在控制器中导入必要的模块并配置 Swagger 文档注解。接着定义了一个 `getCaptcha` 方法,利用 `svg-captcha` 库生成包含指定长度、字符样式和背景等参数的验证码图片,并通过会话(Session)存储验证码值以便后续登录验证。最后,在客户端登录时可以比对输入的验证码与会话中的值来判断其正确性。