- 博客(182)
- 收藏
- 关注
原创 Monorepo + PNPM 搭建高效多项目管理
摘要: 本文详细介绍了如何利用 Monorepo + PNPM 构建高效的多项目管理架构。Monorepo 将多个项目(如前端、后端、共享库)集中在一个仓库中,提升协作效率;而 PNPM 通过硬链接和 Workspace 支持优化依赖管理。实战部分从项目初始化、Workspace 配置、子项目创建到跨包引用,逐步展示搭建流程。此外,还涵盖任务运行、批量操作及高级优化(如 Turborepo 集成)。核心优势包括代码复用、统一版本、快速安装和磁盘节省,适合全栈开发、组件库等场景。通过本文,开发者可快速掌握现代
2025-06-10 15:44:46
1021
原创 K6 + JavaScript 压测服务端
K6压测工具快速入门指南:K6是一款现代化开源负载测试工具,支持JavaScript编写测试脚本。教程包含:1)安装方法;2)基础测试脚本编写(HTTP请求、响应验证);3)进阶功能如POST请求、CSV数据驱动测试、RESTful API全流程测试;4)结果输出(JSON/CSV)和可视化方案。通过示例代码演示了虚拟用户设置、阶梯式压测、性能阈值等核心功能,帮助开发测试人员快速掌握性能测试技能。
2025-06-09 10:38:35
625
原创 Vue3 PC端 UI组件库我更推荐Naive UI
本文通过对Naive UI、Element Plus和Ant Design Vue三大主流Vue3 UI库的全面对比,揭示了Naive UI在多维度的卓越表现。从架构设计来看,Naive UI采用组合式开发理念,源码组织结构更合理,充分运用Vue3响应式特性;性能测试显示其在表格组件渲染、表单操作等场景下显著领先;开发体验方面,Naive UI提供近乎完美的TypeScript支持和高效的文档系统;独特的主题架构实现毫秒级切换。尽管社区规模稍逊,但其优异的性能、现代化架构和卓越的开发体验,使Naive UI
2025-06-09 10:11:41
991
原创 别再npm全局安装了,npx也许更适合你
npx和npm都是 Node.js 生态中的核心工具,但它们的功能和用途有所不同。以下是它们的关系和区别
2025-05-21 09:04:29
208
原创 Uniapp 微信小程序 接入 WechatSI(微信同声传译) 插件 指南
uniapp开发者需要去往项目的 manifest.json 进行配置。而微信小程序开发者,可以查看 插件详情页的 开发文档,有直接的使用案例。然后可以进入插件详情,点击添加到你需要添加的小程序即可。这里就直接搜索了,我也没找到在哪。这里以一个Vue3 demo 为例,非常简单。完成扫码登录后,再点击这个位置。到这一步就完成配置插件了。然后,往下滑动,找到。再进入插件的详情页。
2025-05-17 14:48:23
668
原创 因为修改了项目名称,结果导致前端项目适配炸了
本波煮在项目迁移过程中,使用了一个Vue2+Vant的初始模板,并修改了项目文件夹名称后,发现适配出现问题。经过排查,发现问题出在postcss.config.js文件中的rootValue函数,该函数根据文件路径中的vant字符来决定值,而修改文件夹名称后路径中不再包含vant,导致rootValue值变化。最终,本波煮将rootValue固定为37.5,解决了适配问题。此案例提醒开发者在修改项目文件夹名称时,需注意相关配置文件的路径依赖问题。
2025-05-15 19:03:16
173
原创 前端布局适配,看我这一篇就够了
本文系统介绍了现代前端开发中的布局技术,涵盖基础概念、经典布局技术和现代适配方案。首先,文章详细解释了视口、像素和布局单位等基础概念,帮助开发者理解不同单位的使用场景。接着,文章探讨了静态布局、流式布局、响应式布局、弹性盒子布局和网格布局等经典技术,分析了它们的特点和适用场景。最后,文章介绍了现代适配方案,包括rem方案和vw方案,并对比了它们的优缺点。通过本文,开发者可以全面掌握前端布局的核心技术,有效应对各种设备适配需求。
2025-05-15 18:46:43
1014
原创 前端不会Docker和Linux,一个脚本一键搞定前端自动化部署
手动部署前端项目通常涉及多个繁琐步骤,如构建、连接服务器、上传文件等,不仅耗时且容易出错。为了提高效率和减少人为错误,自动化部署成为必要选择。本文介绍了如何使用Node.js的ssh2-sftp-client库实现前端项目的一键自动部署。该库基于SSH协议,支持安全传输、断点续传和文件权限管理,且提供简洁的API和活跃的社区支持。文章详细讲解了从连接到服务器、上传文件到配置NPM脚本的完整流程,帮助开发者轻松实现自动化部署,提升开发效率。
2025-05-14 19:06:39
542
原创 MCP爆火了!Nodejs用户也不能落后
Anthropic开源的MCP协议以模块化架构+协议标准化为核心,重新定义AI应用开发范式。其六大组件构建完整生态: 资源/提示/工具:解耦数据查询、对话模板与业务操作,支持无副作用访问与权限管控 ;采样/根服务/传输层:实现流量分配、服务发现与多协议通信(HTTP/WebSocket等)。 通过TypeScript类型安全与可视化调试工具链,开发者可快速搭建智能客服、电商推荐等应用。
2025-05-14 11:10:38
1116
原创 秒删node_modules[无废话版]
为简化项目中的node_modules目录清理操作,可以通过全局安装rimraf工具,并将其集成到项目的package.json脚本中。首先,使用npm install rimraf -g命令全局安装rimraf。然后,在package.json文件的scripts部分添加"clean": "rimraf node_modules"命令。这样,无论是在Windows、Linux还是macOS系统上,团队成员都可以通过运行npm run clean命令快速清理node_
2025-05-14 10:09:05
395
原创 面试官:如何取消正在发送的HTTP请求?
在现代Web开发中,有效地管理HTTP请求是提升应用性能和用户体验的关键。本文将介绍四种主流技术中取消HTTP请求的方法,帮助开发者优化应用行为。
2025-05-12 17:09:05
287
原创 Vue4都快出了,我才知道createVNode、h 和 render
虚拟 DOM 是真实 DOM 的轻量级 JavaScript 表示。Vue 使用它来跟踪需要对真实 DOM 进行的更改,从而高效地更新视图。patchProp,insert,remove,// ...其他平台特定方法})// 然后就可以像在 DOM 中一样使用这些函数Vue 3 的虚拟 DOM 系统通过h和render:用于创建轻量级的虚拟节点描述render:负责将虚拟节点高效地更新到实际 DOM组合使用:可以构建从简单到复杂的各种渲染逻辑。
2025-05-09 15:16:22
1092
原创 async/await的另一种食用方法
awaitTo这个小工具为async/await提供了另一种"食用方法",让我们的异步代码更加简洁明了。它特别适合需要同时处理多个独立异步操作的场景。不妨在你的下一个项目中试试这种模式,看看它是否能提升你的开发体验!你平时如何处理异步错误?欢迎在评论区分享你的经验和看法。
2025-05-07 17:16:45
248
原创 深入理解乐观锁与悲观锁:NestJS中的并发控制完整指南
Column()乐观锁和悲观锁是解决并发问题的两种经典策略,在NestJS应用中通过TypeORM可以方便地实现。理解它们的原理和差异,能够帮助开发者根据具体业务需求做出合理选择。无锁数据结构的应用增多基于STM(Software Transactional Memory)的新方案。
2025-05-07 17:10:46
882
原创 理解网站导航文件:robots.txt、sitemap.xml与LLMs.txt的全面解析
在当今数字化时代,网站不仅需要为人类用户提供良好的浏览体验,还需要考虑搜索引擎和人工智能系统的可访问性。本文将深入探讨三种关键的网站导航文件:传统的robots.txt和sitemap.xml,以及新兴的LLMs.txt,分析它们的功能、区别以及如何协同工作来优化网站的可见性和可访问性。
2025-05-07 09:10:53
1296
原创 TypeScript 中 Record vs interface:如何正确选择对象类型工具?
/ 声明式类型(蓝图)// 工具类型(模板)`interface` 如同建筑设计图,需要明确标注每个房间的细节。而 `Record` 更像是批量生产模具,适合快速创建统一规格的结构。✅ 正确选择:interfaceid: number;当属性具有不同数据类型且需要明确语义时,`interface` 能提供更好的可读性和类型安全。理解 `Record` 和 `interface` 的区别就像掌握不同的绘画工具——水彩适合写意,油画精于写实。
2025-04-28 09:23:34
1064
原创 TypeScript中的Record类型:从基础到高级的完全指南
•K:必须是`string | number | symbol`的子类型•T:任意有效的TypeScript类型•已知的固定键集合•需要严格类型约束的配置对象•枚举值与数据的映射关系•需要自动补全的键值结构•需要动态添加未知键•键值类型关系松散•需要灵活的类型转换掌握`Record`类型后,你将能够:•构建更安全的类型系统•提高代码可维护性•获得更好的IDE支持•减少运行时错误通过本文的讲解,相信你已经对`Record`类型有了全面的认识。
2025-04-28 09:06:47
654
原创 .d.ts文件完全指南
在TypeScript的世界里,`.d.ts`文件就像一本精准的翻译词典,它架起了JavaScript动态世界与TypeScript静态类型系统之间的桥梁。当我们使用第三方JavaScript库时,这些声明文件就是保证类型安全的关键所在。本文将带你全面掌握`.d.ts`文件的奥秘,解锁类型系统的完整力量。`.d.ts`文件不仅是类型定义的载体,更是代码契约的具体表现。通过本文的探索,您已经掌握了:✅ 声明文件的编写哲学✅ 类型系统的扩展技巧✅ 工程化实践的最佳方案✅ 疑难问题的解决之道。
2025-04-27 17:32:26
587
原创 掌握Prisma数据建模:从基础关系到高级技巧
postId InttagId Int•支持扩展元数据字段•明确控制关联模型•适用场景:需要记录关联时间、原因等附加信息通过本文的系统学习,您已经掌握了Prisma数据建模的核心要点。从基础关系到复杂结构,从字段配置到性能优化,这些知识将帮助您构建健壮高效的数据模型。建议结合官方文档和实际项目进行实践,逐步探索Prisma的更多高级特性。记住,良好的数据模型设计是成功应用的基石,值得投入时间精心打磨。下一步实践建议:1. 在沙箱环境中尝试各种关系配置2. 对现有项目进行模型重构。
2025-04-22 15:25:45
708
原创 使用Autocannon.js进行HTTP压测
通过本文的系统学习,您已掌握从基础压测到生产级负载测试的全套技能。建议将性能测试纳入持续交付流水线,构建具备弹性伸缩能力的云原生架构。:通过Worker线程池实现真正的并发请求(最高可达10万QPS)1. 通过`--debug`模式发现MySQL连接池排队。:每秒刷新请求统计,支持ASCII表格与CSV格式输出。:添加`X-Stress-Test: true`请求头。•`-p`:每秒请求数限制(限流保护)•`-c`:并发连接数(模拟用户量):97.5%请求在25ms内完成。•`-d`:测试持续时间(秒)
2025-04-22 10:19:06
965
原创 Node.js 操作 ElasticSearch 完整指南:从安装到实战
本文提供了从基础到高级的 Node.js 操作 ElasticSearch 的完整指南,涵盖了索引管理、文档操作、复杂搜索、聚合分析等核心功能,并通过电商商品搜索的实战案例展示了如何在实际项目中应用 ElasticSearch。希望这些示例代码能帮助您更好地在 Node.js 项目中集成 ElasticSearch。根据实际业务需求,您可以进一步扩展和优化这些代码。
2025-04-22 09:17:35
994
原创 Nodejs用户优雅的使用内网穿透
✅推荐场景•临时API调试(微信/支付宝支付回调)•快速分享原型设计•跨设备测试(手机访问本地服务)❌不适用场景•需要7x24小时稳定运行的生产环境•涉及敏感数据的金融系统•高并发压力测试实战建议现在,尝试用`lt --port 8080`分享你的本地项目吧!遇到任何问题,欢迎在评论区留言讨论 💬。
2025-04-11 14:46:18
454
原创 压缩node_modules放入另一台电脑执行,结果启动不起来?
日常开发:私有镜像 + 缓存同步紧急修复:TGZ单包部署灾备方案:全量缓存冷备依赖变更审批流程镜像同步时间窗口安全扫描集成方案应急响应手册通过系统化的依赖管理策略,让离线环境开发从被动应对转为主动防御,保障研发流程的持续交付能力。
2025-03-31 18:51:00
299
原创 RabbitMQ 与 Kafka:消息中间件的终极对比与选型指南
在分布式系统架构中,消息中间件是异步通信的核心组件。RabbitMQ 和 Kafka 作为两大主流技术,常被开发者拿来比较。本文深入解析两者的设计哲学、性能差异和典型场景,助你做出精准技术选型。
2025-03-20 09:14:20
1689
原创 使用 Node.js 从零搭建 Kafka 生产消费系统
本文将以 Node.js 为例,从基础概念到代码实战,手把手教你实现 Kafka 的生产者与消费者。通过 `kafkajs`,Node.js 可快速集成 Kafka 实现高可靠的消息处理。:消息的分类(如 `userlogs`),生产者发送到 Topic,消费者订阅 Topic。- 例如:将 `userlogs` 分为 3 个分区,可同时由 3 个消费者处理。:生产者配置 `acks: 0` 时,不等待 Broker 确认。:消费者处理消息后崩溃,导致 Offset 未提交。
2025-03-20 09:07:06
926
原创 使用Nginx实现后端负载均衡
http {# 默认轮询策略# 权重配置# 备用服务器通过合理配置Nginx负载均衡,开发者可以轻松构建出支撑百万级并发的高可用架构。本文涵盖从基础配置到生产级优化的全链路实践,建议根据实际业务特点选择合适的策略。最后切记:所有关键配置变更前务必做好备份,并通过`nginx -t`严格验证!ab -n 1000 -c 100 http://example.com/ # 压力测试curl -I http://example.com # 查看响应头。
2025-03-19 09:34:43
1483
原创 Node.js 中使用 RabbitMQ
RabbitMQ是一个基于 AMQP 协议的开源消息代理工具,专为分布式系统设计。它通过解耦生产者和消费者实现异步通信,支持流量削峰、任务队列、服务解耦等场景,是微服务架构中的核心组件之一。其核心优势包括:•可靠性:支持消息持久化与传输确认机制。•灵活性:提供多种交换机类型(Direct、Fanout、Topic等)。•跨平台:支持主流编程语言(Node.js、Python、Java等)。通过 RabbitMQ,Node.js 应用可以实现:•异步任务处理(如邮件发送、文件导出)•服务解耦。
2025-03-19 09:10:09
1553
原创 MySQL数据高效同步到Elasticsearch的四大方案
Elasticsearch(ES)凭借其强大的全文搜索和实时分析能力,已成为现代应用的核心组件。通过本文的代码示例和架构解析,您可快速构建适合自身业务的MySQL到ES同步管道。•安装MySQL驱动到Logstash的`/logstash-core/lib/jars/`,涵盖从简单双写到生产级实时同步的全场景,并提供可落地的代码实现。:ES支持分词、模糊匹配,弥补MySQL LIKE查询性能差的缺陷。:在业务代码中同步写入MySQL和ES,适合初创项目快速验证。•业务侵入性强,需维护两套数据模型。
2025-03-18 14:33:19
1342
原创 Node.js中使用Elasticsearch
Elasticsearch作为领先的分布式搜索分析引擎,与Node.js的结合能为应用提供强大的实时搜索和数据分析能力。本文将带你完成从环境搭建到高级查询的全流程实践。
2025-03-18 14:06:05
770
原创 SVN完全指南
Apache Subversion(SVN)作为经典的集中式版本控制系统,在企业级代码管理、文档版本跟踪等领域持续发挥着重要作用。本文将带您系统掌握SVN的核心概念和实用技巧,并提供从安装配置到高级操作的完整解决方案。1. `svn update` 触发冲突提示。3. 手动编辑带有`>>>>`标记的文件。•IntelliJ IDEA内置对比工具。•VS Code的SVN插件。2. 使用比对工具分析差异。
2025-03-18 12:03:03
1085
原创 JavaScript 异步编程的终极指南:Promise 与 async/await 深度对比
✅•需要精细控制并行/竞速逻辑•开发基础工具库•兼容旧版浏览器(通过 polyfill)✅•处理复杂业务逻辑流•需要更好的可维护性•使用现代构建工具链在 async 函数内部使用 await 处理具体异步操作,在顶层用 Promise 控制整体流程。
2025-03-18 11:49:30
643
原创 一篇讲清均衡负载,不明白的前端、后端同学都进来看看
到多个服务器或资源的机制,目的是优化资源使用、提升系统性能和可靠性。Nginx根据路径将API请求分发到不同的后端服务组(如订单服务、用户服务)。位于用户请求入口层,负责将客户端(如浏览器、移动设备)的请求分发到不同的。:根据预设策略(如轮询、权重、哈希等),将用户请求分发到多个服务器节点。:在微服务架构中实现细粒度流量控制(如A/B测试、金丝雀发布)。:构建分层、弹性的分布式系统,应对从单机到百万级并发的平滑演进。静态资源分发(HTML/CSS/JS、图片、视频)。
2025-03-18 10:39:06
1117
原创 Nestjs如何抗住高并发?
NestJS 是一个用于构建高效、可扩展 Node.js 服务器端应用的框架,它结合了面向对象编程(OOP)、函数式编程(FP)和函数式响应式编程(FRP)的理念,并深度集成了 TypeScript。其核心设计灵感来源于 Angular 的模块化架构和 Spring 的依赖注入机制,旨在为 Node.js 开发提供一种结构化、企业级的解决方案。Node.js 事件循环机制:利用其单线程异步非阻塞特性,避免因同步 I/O 或 CPU 密集型任务阻塞主线程。代码优化:避免 误用导致不必要的阻塞。使用 提供的
2025-03-18 10:29:33
1565
原创 React使用路由表
React Router 从 v6 版本开始支持类似 Vue 的集中式路由表配置方式,通过useRoutesHook 可以将路由配置统一管理。这种方式相比传统的 JSX 声明式路由更加简洁,特别适合中大型项目。通过使用useRoutes+ 集中式路由表的方式,React 也可以实现类似 Vue Router 的路由配置体验。这种方式特别适合需要统一管理路由逻辑的项目,开发者可以根据项目需求灵活选择传统声明式或集中式配置方案。
2025-03-14 10:42:27
697
原创 微前端解决方案之MicroApp
大家可能还是不认识微前端或者它的好处,下面我介绍微前端以及它的好处。微前端的概念是由ThoughtWorks在2016年提出的,它借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的应用,或者将原本运行已久、没有关联的几个应用融合为一个应用。微前端既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,相比一整块的前端仓库,微前端架构下的前端仓库倾向于更小更灵活。micro-app是借鉴了。
2025-03-14 10:26:24
1343
原创 Vue3中全局使用Sass变量方法
1.首先需要在自己的静态资源目录下,放入两个sass文件。需要注意的是 .d 文件,是用来在开发的时候给予提示用的。到这里,你的任何.vue文件中的style中都能直接使用 vw、vh方法了。
2025-03-13 14:01:10
685
原创 RawShaderMaterial 与 ShaderMaterial
在 Three.js 中,和都是用于自定义着色器的材质类,但它们的核心区别在于。
2025-02-24 15:27:35
614
原创 将Javascript打包成exe可执行文件
是一个命令行工具,能将 Node.js 项目及其依赖打包成一个单独的可执行文件。用户无需安装 Node.js 环境即可运行你的程序。(macOS/Linux)可直接运行,无需 Node.js 环境。表示 Node.js 18 + Windows 64位)。可轻松将 Node.js 项目转换为可执行文件。: 指定目标平台和 Node.js 版本(例如。注意处理静态资源路径和动态模块加载。中预声明所有可能动态加载的文件。macOS (生成二进制文件)Linux (生成二进制文件):打包后文件系统路径变化。
2025-02-19 10:12:29
1200
原创 Puppeteer.js 一个可以不动手操作浏览的插件
Puppeteer是一个由 Google Chrome 团队开发的 Node.js 库,提供了一套高级 API 来控制无头(Headless)或非无头的 Chrome/Chromium 浏览器。它支持自动化操作,如网页截图、PDF 生成、表单提交、页面导航、JavaScript 执行、网络请求拦截等,常用于爬虫、自动化测试、性能监控等场景。});console.log('页面标题:', title);Puppeteer 是前端自动化的瑞士军刀,覆盖了从简单截图到复杂交互的全场景。
2025-02-19 09:21:08
882
原创 什么?你的Nestjs项目部署的时候还要把node_module带上去?
最近跟一个小伙伴聊天,他说他部署Nestjs项目的时候,每次都要把 package.json带上去然后使用npm 把依赖安装一次,才能运行项目。然后我也是给了小伙伴解决方案。
2025-02-17 17:15:57
263
vue中watch监听props数据问题
2023-03-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人