- 博客(810)
- 收藏
- 关注
原创 Vue3+Vite项目打包构建 npm run build 报警告(循环依赖与代码分割警告)
/ 确保index.ts和其导出的组件在同一chunk。// 同时,在频繁使用的地方可以考虑直接导入。// 将常用组件分组。// 但对于大多数情况,继续使用统一导出。// 继续使用这种简洁的导入方式。- 这是良好的架构实践。- 确保没有运行时问题。// ... 其他导出。- 解决代码分割问题。
2025-11-24 14:13:55
194
原创 Windows批处理文件(.bat和.cmd文件)选择建议
Windows NT时代引入的新格式。:如果需要支持很老的系统,用.bat。(针对现代Windows系统):DOS时代的批处理文件格式。echo 目录不存在。:保持原来的.bat扩展名。echo 这是BAT文件。echo 这是CMD文件。
2025-11-24 00:04:13
212
原创 测试/生产环境中请求超过一分钟就报错404(Nignx代理),但是在开发环境中正常(Vite代理),设置超时就解决了
原来 Nginx 配置信息:(api代理中没有设置超时)Nignx代理中,没有设置超时,使用的是默认60秒超时。
2025-11-23 20:12:53
53
原创 Nginx配置详细解析与新手指导
textnginx.conf├── 全局配置 (worker_processes)├── 事件配置 (events)└── HTTP 配置 (http)├── 基础设置 (MIME类型、传输优化等)└── 虚拟主机 (server)├── 监听配置 (listen, server_name)├── 静态文件服务 (location /)├── API 代理 (location /api/)└── 错误页面处理。
2025-11-23 18:56:21
395
原创 Spring Boot定时任务配置详解
java@Slf4j: 标识这是一个配置类,Spring Boot启动时会自动加载: 开启Spring的定时任务功能@Slf4j: Lombok注解,自动生成日志对象log: 接口,允许自定义定时任务的配置这个配置类主要实现了:✅ 自定义定时任务线程池✅ 动态配置定时任务参数✅ 统一的配置管理✅ 良好的线程管理和资源清理对于新手来说,理解这个配置类是掌握Spring Boot定时任务高级用法的重要一步!
2025-11-21 22:25:46
546
原创 Spring Boot 配置完整实现方案(配置属性 + 配置类 + 数据库配置)
这种组合方案可以实现:数据库配置 > 配置文件 > 代码默认值,非常适合需要动态调整配置的生产环境。
2025-11-21 20:55:00
531
原创 MyBatis-Plus启动日志分析
这些日志都是正常的启动信息,表明您的应用正在正确初始化。只有在出现错误或性能问题时才需要关注。datacenterId: 4, workerId: 2 用于生成分布式唯一ID。worker-id: 1 # 根据实际机器配置。表示MyBatis使用了标准输出的日志适配器。这是MyBatis-Plus的默认日志配置。检测到VMware虚拟网卡,这是正常现象。系统在获取网络接口信息。的worker初始化。
2025-11-20 23:29:03
376
原创 MyBatis-Plus内置接口方法
MyBatis-Plus提供了丰富的内置接口方法,主要分为和两大类,能大大简化你的数据库操作。IService。
2025-11-20 21:23:36
377
原创 Vue3+TypeScript配置参数管理方案
绝大多数场景下,使用.env文件:它能清晰地区分环境配置,与前端构建流程完美结合,是 Vue 项目中的标准实践。当你的配置需要“热更新”时,才选择从后端获取:这意味着你可以在应用运行时改变其行为,而用户无需刷新页面。虽然实现更复杂,并引入了对后端服务的依赖,但在复杂的微前端或云原生架构中非常有用。
2025-11-20 18:53:27
507
原创 Spring Boot MyBatis/MyBatis-Plus配置参数管理方案
yamlapp:config:sms:硬编码:仅用于真正不变的业务常量:适合环境相关、第三方服务、框架配置数据库配置:适合需要运行时动态调整的业务参数推荐做法:采用混合配置策略,根据配置的性质和使用频率选择合适的方式,并通过统一的配置管理类来提供一致的访问接口。
2025-11-20 18:51:33
689
原创 MyBatis和MyBatis-Plus
MyBatis-Plus不是要替代MyBatis,而是在MyBatis基础上的增强,提供了更多开箱即用的功能,让开发者能够更专注于业务逻辑而不是重复的基础编码工作。对于大多数新项目,特别是追求开发效率的团队,MyBatis-Plus是更好的选择。它保留了MyBatis的所有灵活性,同时大幅提升了开发效率。MyBatis-Plus提供了多种灵活的方式来处理非规范命名的数据库表。java// 自定义表名处理器@Component@Override// 根据业务逻辑动态返回表名。
2025-11-20 18:41:18
988
原创 Vue3项目全局样式失效解决方案
问题描述:vue3项目中,这样的情况,为什么会出现全局样式中的margin-left: 10px;不起效果?在Vue3项目中,全局样式的。
2025-11-20 15:03:21
44
原创 Git 429错误解决方法总结
通常,遇到429错误,先等待一段时间再重试是最简单有效的方法。如果问题与仓库大小或网络有关,再考虑调整Git配置。若你使用了Git LFS,则需关注其重试机制可能带来的影响。
2025-11-20 00:09:01
295
原创 Vue3+TypeScript+Spring Boot打印进度显示:从无到有、从有到多(前端简单实现、轮询、WebSocket)
初始情况,打印没有进度条显示:点击【打印/查看】,弹出打印对话框,开始加载数据(200份报告),数据已加载,耗时41.42秒,这个过程页面一直没有变化,需增加进度显示,增强使用体验。原来的代码:打印抽屉。
2025-11-19 18:53:24
360
原创 Vue3+TypeScript WebSocket连接报错1006:WebSocket is closed before the connection is established.
详细的错误堆栈信息:请分析我的代码,解决这个问题: hook代码: import { useTokenStore } from "@/stores";/** * WebSocket 进度 Hook */ export function useWebSocketProgress() { // 进度从1开始,增强使用体验,感觉一开始就工作了 const progressValue = ref(1);
2025-11-19 12:48:29
658
原创 JavaScript/TypeScript 中,解构重命名使用冒号 :
在 JavaScript/TypeScript 中,解构重命名的正确语法是使用冒号,而不是as。
2025-11-18 21:22:35
410
原创 JavaScript编码函数encodeURI用于完整URL、encodeURIComponent用于URL参数
使用 encodeURIComponent:当编码 URL 的某一部分(特别是参数值)使用 encodeURI:当编码整个 URL 但希望保持其结构完整简单规则:参数值用,完整 URL 用encodeURIjavascript// 最佳实践示例.join('&');
2025-11-18 20:39:44
777
原创 【全栈】TypeScript 和 Java 在类和接口上的区别
typescript// TypeScript 接口email?: string;// 可选属性// 只读属性// 方法签名// 索引签名java// Java 接口// 常量(默认 public static final)// 抽象方法(Java 8 之前只能是抽象方法)// Java 8+ 默认方法// Java 8+ 静态方法typescript// TypeScript 类// 属性可以直接在构造函数中声明) {}// 方法实现。
2025-11-18 16:41:09
406
原创 WebSocket管理类命名建议
typescript// 现有代码保持不变...// 可以考虑添加更清晰的构造函数选项// 接口命名也可以相应调整: boolean;: number;: number;: number;onOpen?onMessage?onError?onClose?保持不变,因为它表示的是 WebSocket 协议的标准状态,具有通用性,不应该与具体的实现类强绑定。
2025-11-18 16:08:05
360
原创 Spring Boot WebSocket路径参数提取分析
这段代码在WebSocket握手前执行,用于:验证连接路径是否符合预期格式从URL路径中提取请求ID(如request123将提取的requestId存入attributes,供后续WebSocket会话使用这种模式常用于REST风格的WebSocket端点,通过URL路径传递参数而不是查询参数。
2025-11-18 15:06:16
246
原创 Spring Boot中pom.xml自动出现的org.jetbrains:annotations依赖项
<groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>RELEASE</version> <scope>compile</scope>
2025-11-18 15:00:54
363
原创 WebSocket token解决方案(前端Vue3设置参数,后端Spring Boot 提取参数)
在使用原生 WebSocket API 时,在构造函数中设置自定义请求头(包括 Authorization)。这是 WebSocket API 的安全限制。
2025-11-18 11:03:08
712
原创 SQL Server表变量与临时表对比
在 SQL Server 中处理临时数据时,和是两种核心选择。它们虽然都能临时存储数据,但在实现机制、性能和使用场景上有着显著差异。简单来说,。##
2025-11-18 08:06:23
244
原创 SQL Server中sp_executesql的讲解以及execute sp_executesql与execute()的区别
是 SQL Server 中一个非常重要的系统存储过程,主要用于执行动态构建的 SQL 语句。
2025-11-17 01:39:43
593
原创 SQL Server超长动态SQL拼接出错解决方案
消息 4145,级别 15,状态 1,第 1 行在应使用条件的上下文(在 'and' 附近)中指定了非布尔类型的表达式。消息 208,级别 16,状态 0,过程 proc_LabelResultTable,第 1041 行对象名 '##Result' 无效。
2025-11-16 18:48:37
151
原创 SQL Server超长文本存储类型选择(varchar或nvarchar)
仅需英文等单字节字符→ 选择,空间利用更经济。需要中文等Unicode字符→必须选择,这是唯一正确的选择。为什么我的项目中数据类型是VARCHAR也可以存储中文呀?这是一个非常好的观察!你确实可以在SQL Server中使用VARCHAR存储中文,但这背后有一些重要的原理和潜在风险需要了解。
2025-11-16 10:47:53
527
1
原创 SQL Server存储过程并发重构解决固定全局临时表(与deepseek全程交互)
会话隔离:唯一表名确保数据隔离动态适配:灵活应对不同的查询结构资源管理:完善的创建和清理机制功能保持:100%兼容原有业务逻辑这种方案不仅适用于当前存储过程,也可以作为处理类似并发问题的通用模式。关键是理解业务逻辑的数据流动,在保持功能完整性的前提下实现技术架构的优化。附:GOGOGO/* Author :杨广标 *//* description :获取检验结果 */@ExeType bit = 1, --执行类型,1:有返回数据集;0:无返回数据集。
2025-11-15 17:37:56
584
原创 SQL Server超复杂查询优化案例(获取检验结果)
在CTE中预先获取所有系统选项值,避免重复JOIN。如果数据量很大,可以考虑将部分计算逻辑移到应用层。:将查询拆分为多个逻辑部分,提高可读性。:如单位显示逻辑在多处重复,现统一处理。定期更新统计信息以确保查询计划最优。:使用变量替代重复的硬编码值。移除不必要的嵌套CASE。减少不必要的字符串连接。使用明确的JOIN条件。使用更简洁的条件判断。
2025-11-15 12:19:48
175
原创 SQL Server中频繁创建删除全局临时表性能影响分析
在SQL Server中,频繁创建和删除全局临时表(##temp_table)确实会对数据库性能产生一定影响。
2025-11-15 11:33:49
221
原创 SQL Server 2008 R2生成UUID
在 SQL Server 2008 R2 中,你可以使用NEWID()函数来生成 UUID(在 SQL Server 中也称为 GUID)。这个函数会生成一个全局唯一的标识符,格式类似于。
2025-11-14 22:53:24
569
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅