自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 NestJS 对比 Express

Express与NestJS是Node.js生态中两种不同定位的框架:Express作为轻量级HTTP工具库,提供无约束的自由开发方式;而NestJS则是企业级全栈框架,内置依赖注入、分层架构等规范。二者在代码风格(回调链 vs 装饰器)、架构支持(手动搭建 vs 官方模块)等方面差异显著,但可以共存或渐进迁移。NestJS在微服务、GraphQL等企业级功能上提供官方支持,更适合复杂项目开发。

2025-12-17 17:52:12 454

原创 Nestjs 入门

NestJS是一个基于Express和socket.io封装的Node.js后端开发框架。本文简要介绍了其核心功能和使用方法:1) 安装与项目创建,包括全局安装CLI工具和生成CRUD模块;2) 核心文件说明,如控制器、模块和服务;3) 控制器功能,包括路由、参数处理和请求响应;4) 模块系统及其依赖管理;5) 中间件实现请求拦截;6) 守卫用于鉴权;7) 拦截器处理响应包装和日志。最后提供了一个快速创建cats模块的示例,展示了服务、控制器和模块的基本实现。NestJS通过装饰器和模块化设计简化了Node

2025-12-17 17:48:11 730

原创 Socket.IO入门

Socket.IO是基于WebSocket协议的实时双向通信库,具有自动重连、房间管理、二进制数据传输等特性。相比原生WebSocket,它提供了更好的兼容性和高级功能(如自动降级到轮询)。核心功能包括:1)事件处理机制实现消息收发;2)广播消息支持群发和定向发送;3)房间管理用于分组通信;4)命名空间隔离不同业务逻辑;5)完善的错误处理机制。示例展示了基础服务端和客户端的实现代码,包括连接建立、消息收发和断开处理。Socket.IO简化了实时通信开发,适用于需要高效双向交互的应用场景。

2025-12-08 00:26:02 897

原创 详解-如何使用pnpm workspace管理monorepo项目

本文介绍了使用pnpm管理monorepo项目的方法。主要内容包括:1)项目结构配置,需在根目录创建pnpm-workspace.yaml文件定义工作区范围;2)workspace协议的使用,如workspace:*可实现自动链接和实时同步依赖包;3)常用命令,支持按工作区安装、卸载和更新依赖。文章还对比了workspace:*与link:、file:等替代方案的差异,并说明了如何在package.json中配置私有化属性防止误发布。这些配置和命令可有效简化monorepo项目的依赖管理和协同开发。

2025-08-05 00:25:20 757

原创 什么是SSR、SSG、CSR

本文对比了CSR(客户端渲染)、SSR(服务器端渲染)和SSG(静态站点生成)三种网页渲染技术。CSR在浏览器端渲染页面,响应速度快但首屏加载时间长;SSR在服务器端生成完整HTML,首屏加载快但服务器压力大;SSG则预渲染静态页面,性能卓越但动态性受限。三种方案各有优劣,适用于不同场景:CSR适合动态交互应用,SSR适合SEO优化需求,SSG则适合内容型静态网站。开发者需根据项目具体需求权衡选择。

2025-08-05 00:23:06 487

原创 5分钟为自己的QQ群添加一个可以获取JM本子的机器人

这是一个基于Python的QQ机器人插件,通过/jm <本子ID>指令可在30秒内将PDF文件发送到QQ。项目需要Python 3.7+环境,支持一键安装依赖,用户只需修改配置文件中的QQ号即可快速部署。该项目已在GitHub开源,欢迎开发者Star支持。项目地址:https://github.com/FunEnn/ncatbotPlugin

2025-08-04 16:48:33 3156 1

原创 Egg.js入门及使用

是一个核心概念,代表当前的请求上下文(Context)。它包含了处理当前 HTTP 请求所需的所有信息和方法。当一个 HTTP 请求到达 Egg.js 应用时,框架会为每个请求创建一个新的。实例在启动时由框架创建,并在全局范围内可用。它提供了一种访问配置、插件、服务等的全局访问点。是指应用实例,它在应用的生命周期内是唯一的,并且贯穿整个应用的流程。插件,线上环境建议部署到 CDN,无需该插件。在 Egg.js 框架中,中挂载的插件,可以通过。中抛出的属性,可以通过。上述的配置,指的是将。

2025-04-08 13:11:20 1142

原创 解决跨域的常用方法方法

前端的请求实际上发送到同源的代理服务器,代理服务器再将请求转发到目标服务器。标签不受同源策略限制的特点,将请求的数据作为 JavaScript 文件加载,并在服务器端将返回的数据包装成一个指定的回调函数。WebSocket 是一种支持双向通信的协议,它在建立连接时只受同源策略的限制,但连接建立后,通信不再受同源策略影响。请求,且存在安全隐患,因为返回的内容是执行的 JavaScript 代码,可能会导致 XSS 攻击。通过配置代理服务器,可以将跨域请求转发到同源服务器上,然后由代理服务器代为发送请求。

2025-03-18 10:41:11 1912

原创 浏览器存储都有哪些方法

Cookie 本质上就是浏览器里面存储的一个很小的文本文件,内部以键值对的方式来存储(在chrome开发者面板的Application这一栏可以看到)。向同一个域名下发送请求,都会携带相同的 Cookie,服务器拿到 Cookie 进行解析,便能拿到客户端的状态。以键值对(Key-Value)的方式存储,永久存储,永不失效,除非手动删除。,挂载在 window 对象下。从而它可以存储大量的数据,而不影响网站的性能。Cookie诞生之初的作用就是解决HTTP的无状态请求,用来记录一些用户相关的一些状态。

2025-03-15 14:26:44 794

原创 nginx 80端口被占用解决方案

(3)找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP。在使用Windows的过程中,我们可能会要用到80端口。但是我们发现80端口被System进程占用。(1) 按键盘win+r 打开运行界面,输入cmd,确定,打开管理员界面。(5)重启系统,System进程就不会占用80端口了。(4)找到项Start,将其值改为0。(2)80端口被System占用。找到端口对应的服务名称。(4)在控制台关闭服务。(1)查找端口占用。

2025-02-25 16:15:41 2360

原创 Monorepo初识

Monorepo 是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性。

2025-02-25 15:58:21 1261

原创 前端首屏加载性能优化都有哪些?

将应用程序拆分为多个小模块,按需加载,可以有效减少首屏加载的资源量。例如,使用 Webpack 等模块打包工具进行代码分割。在 Webpack 中,可以通过。:只在需要时才加载模块,而不是在应用启动时一次性加载所有模块。例如,在 React 中可以使用。:尽量减少第三方脚本的使用,或者将它们异步加载,避免阻塞主资源的加载。提示浏览器在空闲时加载未来可能需要的资源。在 Vue 3 中,可以使用动态。提示浏览器立即加载关键资源。配置项来实现代码分割。

2025-02-20 11:47:49 948

原创 Zustand入门

一个小型、快速、可扩展的基本状态管理解决方案。

2025-02-20 10:53:23 1754 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除