Next.js 实战 (三):优雅的实现暗黑主题模式 6月前查看 评论
Next.js 实战 (三):优雅的实现暗黑主题模式

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

Nest.js 实战 (十五):前后端分离项目部署的最佳实践 8月前查看 评论
Nest.js 实战 (十五):前后端分离项目部署的最佳实践

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

Nest.js 实战 (十四):如何获取客户端真实 IP 8月前查看 评论
Nest.js 实战 (十四):如何获取客户端真实 IP

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

前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用 8月前查看 4 条
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用

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

Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息 9月前查看 评论
Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息

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

Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter 9月前查看 评论
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter

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

Nest.js 实战 (九):使用拦截器记录用户 CURD 操作日志 10月前查看 评论
Nest.js 实战 (九):使用拦截器记录用户 CURD 操作日志

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

Nest.js 实战 (七):如何生成 SVG 图形验证码 10月前查看 评论
Nest.js 实战 (七):如何生成 SVG 图形验证码

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