- 博客(112)
- 收藏
- 关注
原创 【JS知识点总结】JS 可选链操作符 (?.)
这通常是因为我们访问了一个不存在的嵌套属性。为了解决它,我们往往要写一长串的 if 判断。它不仅能帮你消灭这种报错,还能让代码变得极其清爽。一、什么是可选链操作符?简单来说,它的作用只有一个:在访问对象属性时,如果中间的某一步不存在(是 null 或 undefined),它就立刻停止,并返回 undefined,而不是报错。❌ 传统写法(容易报错):如果我们想获取用户所在的城市,直接 user.address.city,程序就会因为 address 不存在而崩溃。
2025-12-23 21:57:10
18
原创 【前端知识点总结】Web身份认证 Cookie vs .Token
在 Web 开发的世界里,身份认证是守护应用大门的第一道锁。长久以来,一直是这把锁的忠实守护者。但随着架构的演进,一位新的挑战者————登上了历史舞台,并逐渐成为现代应用的主流选择。它们之间不是简单的替代关系,而是一场关于设计哲学、安全性和架构演进的深刻变革。本文将深入剖析 Cookie 与 Token 的核心差异,并探讨在现代企业开发中,我们应如何做出明智的技术选型。
2025-12-20 23:42:38
46
原创 【Vue2项目】人力资源后台管理项目(一)
本项目是 vue2 项目,node版本需降为16版本,可以用 nvm 管理 node 版本,具体可以参考如下博客:【问题解决】Node.js如何升级版本?(内含nvm安装教程)https://blog.youkuaiyun.com/weixin_52047874/article/details/151232233(1) 拉取命令(2) core-js版本处理:项目模版中的core-js的版本号有些滞后,需要将其版本号改为“3.25.5” 再安装依赖(3) 安装完整依赖(4) 启动命令在 package.js
2025-12-20 22:52:55
1021
原创 【前端知识点总结】Promise的介绍
想象一下,你要依次做三件事:1. 登录获取用户ID -> 2. 用ID获取用户详情 -> 3. 用详情里的订单ID获取订单列表。
2025-12-19 00:58:56
38
原创 【前端知识点总结】请求/响应拦截器的介绍
拦截器,顾名思义,是在 HTTP 请求或响应的传输过程中“拦截”它们,并在其被 then 或 catch 处理之前,执行一段特定的代码。大多数主流 HTTP 客户端库,如 Axios,都内置了拦截器机制。请求拦截器:在请求发送到服务器之前执行。响应拦截器:在服务器返回响应,但在 Promise 的 then 或 catch 处理之前执行。一个没有拦截器的痛点场景:携带一个身份验证令牌。显示一个全局的加载动画。统一处理各种 HTTP 错误码(如 401 未授权、500 服务器错误)。
2025-12-18 16:53:05
259
原创 【前端知识点总结】关于基地址baseURL的介绍
简单来说,baseURL 是一个基础的 URL 路径,其他相对路径的 URL 都会基于这个路径进行解析。一个常见的痛点场景:// 在某个组件中重复代码:项目中成百上千个 API 请求,都要重复写 https://api.example.com/v1 这部分。维护困难:当 API 版本升级到 v2,或者域名变更时,你需要全局搜索并替换所有地方,极易出错和遗漏。
2025-12-17 21:15:23
77
原创 【前端知识点总结】前端跨域问题
要理解跨域,首先要知道什么是同源策略。同源策略(Same-Origin Policy)是浏览器最核心也是最基本的安全功能。它规定了一个源(origin)的文档或脚本,不能读取或修改另一个源的文档属性。所谓同源,指的是协议、域名、端口号三者完全相同。URL AURL B是否同源原因是协议、域名、端口均相同否协议不同 (http vs https)否域名不同 (www.example.com vs api.example.com)否端口不同 (80 vs 8080)
2025-12-16 22:16:38
87
原创 【Vue知识点总结】Vue中的namespaced命名空间详解
在Vue生态中,Vuex作为官方的状态管理库,提供了集中式存储管理应用所有组件的状态。随着项目规模扩大,单一状态树会变得臃肿,难以维护。Vuex支持将store分割成多个模块(module),每个模块拥有自己的state、mutations、actions、getters,甚至子模块。namespaced命名空间就是模块化的重要机制之一。默认情况下,模块内部的action、mutation和getter是注册在的,多个模块可以定义同名方法,这会导致命名冲突和不可预期的行为。
2025-12-16 15:58:52
450
原创 【问题解决】VSCode如何借助git快速提交代码?
在日常开发中,代码提交是版本控制的核心环节。许多开发者习惯于命令行操作,但 VSCode 提供了极为便捷的图形化界面,让代码提交更加直观、高效。
2025-12-14 23:11:35
887
原创 git报错:Reinitialized existing Git repository in ...
查看隐藏文件ls -a# 删除 .git 文件夹# 重新初始化 Git 仓库git init# 添加文件并提交git add .
2025-12-13 22:53:07
741
原创 【问题解决】Vue2 与 Vue3项目中 Node.js 版本选择
在前端工程化开发中,Vue2 与 Vue3 的版本迭代带来了构建工具链的重大变革,而 Node.js 作为底层运行环境的选择直接影响项目稳定性。由此系统梳理两者对Node.js的版本要求、兼容性差异及多版本管理方案。
2025-12-11 19:11:31
533
原创 Vue3大事件管理系统
一些优势:比同类工具快2倍左右、节省磁盘空间... https://www.pnpm.cn/npm => yarn(提速) => pnpm(提速、省空间)安装方式:npm install -g pnpm创建项目:pnpm create vue 注意:用 pnpm 尽量不要在根目录创建项目,在根目录创建项目可能会提示“权限不够”。环境同步:配置文件 .eslintrc.cjs1. prettier 风格配置 https://prettier.io2. vue 组件名称多单词组成(忽略 index.vue)3
2025-12-10 22:49:00
581
原创 【JS知识点总结】JavaScript 中的精确取整:Math.floor、Math.ceil 与 Math.round
在 JavaScript 开发中,对浮点数进行整数转换是一项基础且频繁的操作。无论是进行数值计算、数据处理还是 UI 渲染,选择正确的取整方法都至关重要。和。
2025-12-08 23:55:08
70
原创 【Vue 功能总结】Vue如何实现前端本地预览图片
在前端开发中,图片上传前的本地预览是提升用户体验的关键功能。图片预览功能广泛适用于社交媒体发布、电商商品管理、头像更换、文件上传等场景,核心价值在于通过实时反馈避免无效上传,提升操作成功率与内容质量。
2025-12-06 19:24:42
65
原创 Web前端最新面试八股文 - JavaScript篇(三)(持续更新版)【建议收藏+关注】
对象赋值传递的是引用而不是副本,多个变量指向同一对象时,通过任一变量修改都会影响所有引用。
2025-12-02 22:30:48
37
原创 Web前端最新面试八股文 - JavaScript篇(二)(持续更新版)【建议收藏+关注】
简单来说,浏览器要求协议、域名、端口三者必须完全一致,才算同源。比如 https://example.com:443 和 https://api.example.com:443 就因为主机名不同而被视为不同源。
2025-12-02 16:51:46
274
原创 欢迎关注!访客须知 & 版权声明
1. 内容仅供参考:本博客所有内容仅为个人技术学习与研究之目的所提供的信息,不构成任何形式的专业建议或承诺。2. 风险自担:您基于本博客内容所进行的任何操作、决策或因此带来的任何直接或间接损失、风险,均需由您自行承担全部责任。博主对此不承担任何法律责任。提供这些链接仅为方便之用,不代表博主认可其内容,不对第三方网站的内容、隐私政策或行为负责。当您访问或使用本博客的任何内容,即视为您已完全理解、知悉并无条件接受本声明的全部内容。博主保留随时修改、更新本声明之权利,并单独拥有对本声明所有条款的最终解释权。
2025-11-30 20:17:46
220
原创 Vue开发者工具:DevTools插件的安装
Vue Devtools 是一个用于调试 Vue.js 应用程序的浏览器开发者工具扩展。当你在一个包含 Vue 的页面上打开浏览器开发者工具(通常按 F12)时,你会看到一个名为 "Vue" 的新标签页。
2025-11-29 21:26:26
841
原创 【问题解决】VSCode敲代码时如何自动导入包?
在日常开发中,使用组件时,需要频繁地手动添加 import 语句导入所需的模块或包,这样不仅效率低下,还容易出错。
2025-11-29 18:18:52
239
原创 npm报错 : 无法加载文件 npm.ps1,因为在此系统上禁止运行脚本
在Windows系统下使用 PowerShell 执行npm命令时,出现以下错误:npm : 无法加载文件 D:\ToolFiles\Nodejs\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
2025-11-29 01:01:50
683
原创 git报错:‘git‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
下载完成 Git 后,在 命令行cmd 中 输入 git 命令时,git 报错:'git' 不是内部或外部命令,也不是可运行的程序或批处理文件。
2025-11-28 00:46:29
357
原创 【Vue 功能总结】Vue 登录功能实现:从校验到 Token 存储
在前端开发中,登录功能是用户认证的核心模块。一个完整的登录功能,包括表单校验、登录请求、Token 存储等关键步骤。对于复杂校验(如密码强度),可以自定义校验函数:if (!/^(?=.*[a-z])(?=.*[A-Z])(?callback(new Error('密码需包含大小写字母和数字,长度 6-20 位'));{ required: true, message: '请输入密码', trigger: 'blur' },
2025-11-12 23:06:59
111
原创 【Vue 功能总结】Vue 注册功能实现:从校验到 API 封装
在前端开发中,注册功能是用户认证的核心模块。本文将基于 Vue 3,详细介绍如何实现一个完整的注册功能,包括表单校验、注册前预校验、API 封装等关键步骤,可以帮助构建一个健壮、可维护的注册流程。if (!/(?=.*[a-z])(?=.*[A-Z])(?callback(new Error('密码需包含大小写字母和数字,长度 8-16 位'));{ required: true, message: '请输入密码', trigger: 'blur' },
2025-11-09 21:03:23
77
原创 【Vue3 知识点总结】基于 husky 的代码检查工作流
使用 Husky 进行 Git 提交前检查时,执行 package.json 中的 lint 时 会全量检查所有文件,这导致。文件 中的 pnpm lint 改为 pnpm lint-staged。配置好后,只要一执行 lint-staged 就会进行 风格校验。此时配置的 lint-staged 只会对 新添加的代码进行校验。package.json 配置 lint-staged 命令。这样可以保证提交到仓库的代码都是符合校验规范的。希望提交暂存区时进行风格校验,故将。安装 lint-staged 包。
2025-11-04 20:46:26
319
原创 【Vue3 问题解决】husky+lint-staged 在提交代码时lint-staged不生效,有错误提示
在两个不同的配置对象里都定义了完全相同的 rules。这是不必要的,并且容易导致维护困难。应该将所有自定义规则统一放在一个地方。
2025-11-04 19:30:35
754
原创 【问题解决】用pnpm创建的 Vue3项目找不到 .eslintrc.js文件 及 后续的eslint配置的解决办法
在用 pnpm 创建的 Vue3项目中 需要配置 ESLint 代码风格,却找不到 .eslintrc.cjs文件。
2025-11-03 17:00:12
1252
原创 Vue3.x核心技术与实战(九) - Pinia
Pinia 是 Vue 的最新状态管理工具,是 Vuex 的替代品提供更加简单的 API (去掉了mutation )提供符合,组合式风格的 API (和 Vue3 新语法统一)去掉了 modules 的概念,每一个 store 都是一个独立的模块配合 TypeScript 更加友好,提供可靠的类型推断。
2025-10-30 15:24:04
848
原创 yarn报错:info no lockfile found
使用单一的依赖管理工具:在项目开始时决定使用 npm 还是 Yarn,并坚持使用它来管理依赖项。
2025-10-29 20:50:06
310
原创 Vue3.x核心技术与实战(八)
1. setup 选项的执行时机?beforeCreate钩子之前 自动执行2. setup 写代码的特点是什么?定义数据 + 函数然后以对象方式 return3. <script setup> 解决了什么问题?经过语法糖的封装更简单的使用组合式API4. setup 中的 this 还指向组件实例吗?指向undefined1. reactive 和 ref 函数的共同作用是什么?用函数调用的方式生成响应式数据reactive不能处理简单类型的数据。
2025-10-28 19:27:28
864
原创 【Vue知识点总结】style标签的 scoped 属性
在 Vue 中,scoped是<style>标签的一个属性,用于限制样式的作用域,使其仅作用于当前组件,避免影响其他组件或全局样式。这是 Vue 通过 CSS 作用域实现的模块化方案。
2025-10-20 19:37:13
120
原创 【Vue知识点总结】Vue2 与 Vue3 区别
推荐 Vite 作为构建工具,新生态包括 vue-router@4 和 pinia(替代 Vuex),支持 Tree-shaking,减少打包体积。Vue 2 像个保安,只能监控小区(对象)已有的住户(属性),新来的住户(新增属性)需要单独登(Vue.set)。Vue 3 会把不变化的部分(静态节点)预先打包好,只对变化的部分打上“补丁标记”,更新时只“打补丁”,速度飞快。,将逻辑分散在 data、methods、computed 等选项中,适合小型项目,但大型项目维护复杂。逻辑内聚,代码组织更清晰。
2025-10-17 23:51:59
144
原创 【Vue知识点总结】Vue2 逻辑的复用 - Mixin(混入)
Mixin(混入)是 Vue2 中实现逻辑复用的一种方式,可以将多个组件共用的选项(数据、方法、生命周期等)提取出来,混入到各个组件中。适用场景:多个组件需要共享相同的数据/方法/生命周期逻辑优势:代码复用、减少重复局限:命名冲突风险、来源不清晰替代方案:复杂场景考虑高阶组件或VuexMixin 是 Vue2 中简单有效的逻辑复用方式,适合中小型项目或简单的复用需求。
2025-10-16 00:29:50
62
原创 【Vue知识点总结】在 Vue.js 中,如何让【事件处理函数】同时接收【事件对象】和【自定义参数】?
在 Vue.js 中,同时需要事件对象($event)和自定义参数的需求非常常见,这主要源于实际开发中事件处理的复杂性和灵活性要求。在某些业务场景中,用户交互时,既需要获取底层 DOM 信息(如点击位置、按键),又需要传递业务数据(如当前行 ID、表单值),缺一不可。
2025-10-12 16:49:29
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅