- 博客(244)
- 收藏
- 关注
原创 Node.js 中 require 源码解析
Node.js的require函数通过Module._load实现模块加载,按照内置库→文件模块→node_modules模块的顺序解析。核心流程包括解析文件名、检查缓存、创建新模块并加载不同文件类型(.js/.json/.node)。模块加载后会缓存到Module._cache避免重复加载。该机制确保了Node.js模块系统的高效性和灵活性。
2025-05-29 10:15:24
211
原创 Node.js 的 child_process 模块详解
Node.js 的 child_process 模块提供了创建子进程的能力,使 Node.js 应用能够执行系统命令、运行其他程序或脚本。这个模块非常强大,可以帮助我们实现很多复杂的功能。
2025-05-07 17:01:35
200
原创 lerna 8.x 详细教程
需要注意的是输入package name时,不能直接输入core,因为这个包会被作为单独的npm包发布,core同名的包肯定会存在的。我们可以群组的形式创建,最终包名就是@lerna-demo/core,类似@vue/cli、@vue/composition-api。
2025-04-23 20:25:02
71
原创 前端监控体系搭建
前端监控是一个成熟业务线的标配,目前最多的场景是监控 JS 错误,接口请求和性能优化,然后根据日志信息进行分析分类的可视化展示,在发生异常的时候通知到相应的业务开发,监控的性能指标给页面的体验优化提供数据对比和优化的方向。
2025-03-05 09:21:29
69
原创 OnlyOffice docker 运行(详细)
推荐使用 GitHub Action 方式下载:Action 地址:https://github.com/Shixuebin/DockerTarBuilder教程地址:https://www.bilibili.com/video/BV1EZ421M7mL/
2025-02-08 14:49:33
463
原创 2025年前端技术革新趋势
前端技术的发展历程是一部持续创新与进化的史诗。从最初的简单静态网页到现今的复杂动态交互应用,前端技术经历了多次重要的转变。早期的网页主要依赖HTML和CSS,功能较为基础,主要目的是信息展示。随着JavaScript的引入,网页开始具备更丰富的交互性和动态效果。21世纪后,一系列前端框架如jQuery、AngularJS、React和Vue.js纷纷登场,显著提高了开发效率和用户体验。近年间,随着移动互联网的蓬勃发展,前端技术也迎来了新的发展方向,响应式设计和跨平台开发成为热门话题。
2025-01-21 14:34:34
197
原创 ECharts图表导出为svg文件
ECharts 渲染完成后,可以通过 chart.getDom() 获取 SVG 元素,然后使用 outerHTML 获取 SVG 的内容。你可以使用 JavaScript 的 Blob 和 URL.createObjectURL 来创建一个 SVG 文件的下载链接。在 ECharts 的配置中,可以通过设置 renderer 为 ‘svg’ 来启用 SVG 渲染。
2024-11-26 17:51:01
411
原创 GSAP 增添动画效果 (01)
GSAP (GreenSock Animation Platform) 是一个专业的动画框架,它具有强大的性能和灵活的功能。
2024-11-04 09:59:07
486
原创 Nuxt 项目安装时报错 fetch failed (详细)
在 Notepad 中,点击 “文件” 菜单,然后选择 “打开”。进行了 DNS 污染,这会导致你的请求在到达 DNS 服务器后解析到错误的服务器 IP 地址,从而无法正确连接到。在开始菜单中搜索 “Notepad”,右键点击 “Notepad” 并选择 “以管理员身份运行”在 Notepad(记事本) 中编辑完 Hosts 文件后,保存即可。再次创建Nuxt项目,就没问题了。
2024-10-30 10:17:35
398
原创 7 nestjs 环境变量
使用全局配置,在NestJS中,当你配置了ConfigModule并设置了isGlobal: true,这表示这个配置模块是全局的,因此你不需要在每个模块中重复导入它
2024-08-26 15:55:07
413
原创 6 nestjs 异常处理
自定义异常类通常是继承自 HttpException 的类。这允许你创建具有特定错误信息和状态码的异常。在这个例子中,CustomNotFoundException 类继承自 HttpException,并使用 HttpStatus.NOT_FOUND 作为默认状态码。在你的控制器或服务中,你可以抛出自定义异常类,以触发自定义的异常过滤器处理逻辑。// 其他逻辑...
2024-08-26 11:34:27
1039
原创 5 nestjs 模块化
在这个示例中,我们通过 CatsModule 提供了 CatsService,并将其导出。然后,在 UsersModule 中,我们导入 CatsModule 以使用 CatsService。这种模块化的结构使得不同的模块可以共享和重用服务,同时保持了代码的清晰和可维护性。
2024-08-26 10:41:14
957
原创 4 nesjs IOC控制反转 DI依赖注入
在 NestJS 中,IOC(控制反转)和 DI(依赖注入)是核心概念,它们使得应用程序的模块化和解耦变得更加容易。
2024-08-23 14:24:59
562
原创 3 nestjs 集成 Swagger
文档标题文档描述setVersion文档版本文档服务条款setContact文档联系信息setLicense文档许可证信息addServer文档服务地址文档外部链接设置文档基础路径addTag添加文档标签添加扩展添加安全方案添加全局参数添加安全需求添加 Bearer Token 认证addOAuth2添加 OAuth2 认证addApiKey。
2024-08-21 15:43:17
525
原创 2 nestjs 设计模式
MVC(Model-View-Controller)设计模式是一种常用于软件开发的架构模式,旨在分离应用程序的不同部分,使得它们可以独立地开发、测试和维护。
2024-08-21 14:40:48
1184
原创 Google 高级搜索操作符
在 Google 搜索中,有些高级搜索操作符,它可以帮助你找到特定类型的文件。可以找到“机器学习”和“应用”之间的任意单词或短语的网页。可以找到所有在.edu域名下包含“人工智能”的网页。可以找到在 GitHub 上的开源项目相关的网页。可以找到所有包含“机器学习”的 Word 文档。可以找到所有包含“人工智能”的 PDF 文件。— 搜索标题中包含特定词汇的网页。可以找到标题中包含“数据分析”的网页。— 找到与某个网页相关的网页。可以找到网址中包含“教程”的网页。可以找到包含这个精确短语的网页。
2024-08-07 11:00:22
400
原创 OrangePi AIpro套装测评
我们可以参考以下官方提供的硬件规格参数:从资料来看我们发现这款开发板可以用于大学做比赛和毕设,例如,循迹小车主板,机械臂控制,等电子设计大赛一些项目开发。当然也可以用于一些项目的预研和算法的严证,例如智能家居,轨交消防行业模型等。当然也可以基于实用软件层面的应用服务,让它的物超所值。由于时间关系简单体验下,之后会逐步将SPI,IIC等接口测试完毕,上手总结一下,首先使用方便,不必像其他开发板需要单独5V电源,通用的Type-C接口使用非常方便,另外巴掌大小携带也十分方便。
2024-06-04 11:14:27
499
原创 docker教程(详细)
软件开发最大的麻烦事之一,就是环境配置。环境配置如此麻烦,换一台机器,就要重来一次,旷日费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。MBGBDocker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。
2024-04-24 10:03:59
801
3
原创 mac安装nvm详细教程
nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。
2024-04-17 10:24:47
1641
原创 CSS滚动条样式修改
目前我们可以通过 CSS伪类 来实现滚动条的样式修改,以下为修改滚动条样式用到的CSS伪类:::-webkit-scrollbar — 整个滚动条::-webkit-scrollbar-button — 滚动条上的按钮 (上下箭头)::-webkit-scrollbar-thumb — 滚动条上的滚动滑块::-webkit-scrollbar-track — 滚动条轨道::-webkit-scrollbar-track-piece — 滚动条没有滑块的轨道部分。
2024-04-10 11:37:40
479
1
原创 Table 实现像Excel选中状态
<template> <table ref="tableDom"> <tr> <th>列标题1</th> <th>列标题2</th> <th>列标题3</th> <th>列标题4</th> <th>列标题5</th> <th>列标题2</th>
2024-03-21 13:57:13
481
原创 SVG 字体 – 滤镜 filter(26)
SVG 滤镜广泛用于向位图或矢量图形添加特殊效果。滤镜效果是在文档中显示之前对视觉元素进行处理的一种方式。换句话说,它是一组应用于图像的操作,可以产生各种颜色和灯光效果、模糊、扭曲、噪声和纹理生成等。SVG 滤镜能够在浏览器中创建复杂的效果,并具有在各种项目中使用的潜力。几乎所有现代浏览器(包括移动浏览器)都支持它们。过滤器由在defs元素内设置的filter元素定义。它永远不会自行渲染,并且在概念上被描述为包含其子元素的元素 – 过滤器基元。
2024-01-31 15:30:10
296
原创 SVG 字体 – 渐变(23)
渐变是绘图表面上的点之间的平滑颜色过渡。有两种类型的渐变由以下元素定义:和。或元素必须嵌入到标记中以提高可重用性。属性指定渐变的唯一名称。文件内的其他元素可以引用它。渐变可应用于形状、文本等的或属性。
2024-01-31 14:45:18
211
1
原创 SVG 字体 – 变换(22)
SVG 对象可以使用 transform 属性的属性进行更改:translate, scale, rotate, skewX, skewY 和 matrix。
2024-01-31 14:32:43
166
原创 SVG 字体 – SMIL 动画(20)
音同微笑,是的标准之一,旨在以格式提供多媒体的交互表现(白话点其实就是动画),是上动画的开路先锋,启发了动画与动画。与的开发团队合作,让能够利用光是这些功能就够我们组合出很多种的动画了,还不需要和的辅助。使用方法也不难,只需在。
2024-01-31 11:42:33
212
vue 弹窗,可拖动,可拖动改变大小,可重新定义样式!
2022-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人