随笔分类 - 问题思考
发表于 2025-02-19 10:01阅读:3评论:0推荐:0
摘要:在Vue 2项目中,特别是那些具有复杂UI结构的应用,将路由分为侧边菜单路由(sidebarRoutes)和实际添加到路由表的路由是一种常见的设计模式。这种分离主要有以下几个原因: 权限控制:通过区分sidebarRoutes和实际路由,可以更灵活地进行权限管理。例如,可以根据用户的权限动态生成侧边
阅读全文 »
发表于 2025-02-17 10:45阅读:3评论:0推荐:0
摘要:在 Vue 2 中,component.$options ||= {} 这行代码的作用是确保 component.$options 存在且是一个对象。具体来说: ||= 是逻辑或赋值运算符。它的工作原理是:如果左边的操作数(在这个例子中是 component.$options)是“假值”(如 nul
阅读全文 »
发表于 2025-02-14 15:03阅读:3评论:0推荐:0
摘要:Subversion (SVN) 本身并不直接支持在检出或更新代码后自动执行脚本,比如运行 pnpm i。SVN 是一个版本控制系统,主要用于管理和追踪文件的变化,并不提供类似 Git Hooks 的机制来触发外部命令或脚本。 但是,你可以通过以下几种方式实现 SVN 检出或更新后的自动化任务: 方
阅读全文 »
发表于 2025-02-13 14:37阅读:6评论:0推荐:0
摘要:在前端项目中,assets 目录通常用于存放静态资源文件。这些文件包括但不限于图片、字体、样式表、脚本等。为了更好地组织和管理这些资源,常常会在 assets 目录下创建多个子目录。尽管具体的结构可以根据项目的需要灵活调整,但以下是一个常见的分类方式: 常见的子目录结构 images 或 img 存
阅读全文 »
发表于 2025-02-13 11:14阅读:8评论:0推荐:0
摘要:在前端项目中,@xxx/shared 目录(这里的 xxx 可能代表公司名、项目名或其他标识符)通常用于存放可以在整个项目或多个项目之间共享的代码。这种结构有助于促进代码重用,简化维护,并确保不同部分或项目间的一致性。下面详细介绍其作用、优势及使用场景: 作用 代码重用:将通用的功能模块化,如工具函
阅读全文 »
发表于 2025-02-12 22:46阅读:13评论:0推荐:0
摘要:在前端工程化的上下文中讨论副作用(side effects)时,通常指的是那些除了返回值之外还对外部状态或行为产生影响的操作。副作用可以包括网络请求、DOM 操作、异步操作、直接修改全局变量等。这些操作使得函数的行为变得不可预测,增加了代码的复杂性和测试难度。 UI组件与副作用 UI组件本身并不必然
阅读全文 »
发表于 2025-02-12 22:09阅读:21评论:0推荐:0
摘要:方法变量命名相关规范 英文单词命名规范 无论前端代码还是后端代码、异或其他代码,都是由一个个单词组成的,所以一个好的单词影响着代码的本身,所以我们定义如下: 合理使用正确的英文单词 很多人认为自己英语不好就命名比较随意,但我们看来,一个有道词典或者百度翻译就能看好的解决这件事情,所以单词的命名必须使
阅读全文 »
发表于 2025-02-12 21:41阅读:11评论:0推荐:0
摘要:URL.createObjectURL() 和 new FileReader()在读取预览文件时区别 URL.createObjectURL() MDN 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。 这个 URL 的生命周期和创建它的窗口中的 document
阅读全文 »
发表于 2025-02-12 20:44阅读:18评论:0推荐:0
摘要:在前端项目中,libs 和 vendor 目录通常用于组织第三方库或依赖项,但它们的使用和定义可能因项目结构、构建工具以及团队习惯的不同而有所差异。下面是对这两个目录的一般定义、作用、区别及使用场景的解释。 Libs 目录 定义与作用: libs 目录通常用来存放那些不直接通过包管理器(如 npm
阅读全文 »
发表于 2025-01-26 13:50阅读:10评论:0推荐:0
摘要:npx taze -r -w 命令是用来更新项目依赖的工具 taze 的一个使用实例。下面是对这个命令及其参数的解释: Taze Taze 是一个现代化的依赖更新工具,旨在帮助开发者轻松地保持项目的依赖项最新。它能够自动分析项目的依赖关系,并提出版本升级建议。Taze 特别强调安全性和稳定性,通过仅
阅读全文 »
发表于 2025-01-25 22:02阅读:25评论:0推荐:0
摘要:"Internal" 这个词在英文中的基本意思是“内部的”或“内在的”,指的是事物内部的部分,与外部相对。当这个词应用于不同的上下文时,它的具体含义可能会有所变化。在技术和软件开发领域,尤其是在前端工程项目中提到 "internal" 目录或模块时,通常有以下几层含义: 内部使用:指该目录下的文件或
阅读全文 »
发表于 2025-01-25 21:44阅读:77评论:0推荐:0
摘要:Brotli 和 Gzip 都是用于数据压缩的算法,旨在减少文件大小以加快网络传输速度。然而,它们之间存在一些关键区别: 压缩效率 Brotli:由Google开发,提供了比Gzip更高的压缩率,尤其是在文本文件(如HTML、CSS和JavaScript)上表现尤为突出。Brotli通过使用一个预定
阅读全文 »
发表于 2025-01-25 21:03阅读:19评论:0推荐:0
摘要:解释 { "$schema": "https://json.schemastore.org/tsconfig", "display": "Web Application", "extends": "./base.json", "compilerOptions": { "jsx": "preserve
阅读全文 »
发表于 2025-01-24 10:02阅读:10评论:0推荐:0
摘要:在编程术语中,# 符号通常用来表示实例方法或属性,而 . 则用于静态方法或属性。然而,在 JavaScript 的官方文档或者标准语法中,并没有使用 # 来区分实例方法和静态方法的习惯。 实际上,JavaScript 使用的是点符号 (.) 来访问对象的方法和属性,无论是静态的还是实例的。 对于 A
阅读全文 »
发表于 2025-01-22 21:51阅读:47评论:0推荐:0
摘要:Airbnb(全称 AirBed & Breakfast,现在通常只称为 Airbnb)是一家美国的在线市场平台和旅行社,它主要提供了一个全球性的住宿预订服务。通过 Airbnb 的网站或移动应用程序,用户可以发布、搜索并预订各种类型的住宿空间,从私人房间到整个公寓或房屋,甚至包括树屋、船屋等特色住
阅读全文 »
发表于 2025-01-22 20:45阅读:17评论:0推荐:0
摘要:SASS 提供了两种不同的语法格式:SCSS (Sassy CSS) 和 缩进格式(Indented Syntax),有时缩进格式也直接被称为 Sass。这两种格式在功能上几乎完全相同,但它们的语法和适用场景有所不同。以下是 SCSS 和缩进格式的主要差异对比及各自的适用场景。 SCSS (Sass
阅读全文 »
发表于 2025-01-19 15:16阅读:9评论:0推荐:0
摘要:存根组件(Stub Components)是单元测试中的一个重要概念,特别是在使用 Vue.js 进行组件测试时。存根组件用于替代真实组件,通常是为了隔离被测组件的依赖,或者是为了加速测试执行速度。通过使用存根组件,你可以专注于测试当前组件的行为,而不必关心其子组件的具体实现。 为什么需要存根组件?
阅读全文 »
发表于 2025-01-19 12:35阅读:14评论:0推荐:0
摘要:jest.spyOn 是 Jest 测试框架提供的一个功能,用于创建一个间谍(spy)来监视对象上的方法调用。然而,直接使用 jest.spyOn 来监听 Vue 组件的生命周期钩子如 created 并不是最直观的方法,因为这些钩子并不是组件实例上的公开方法,而是由 Vue 框架内部管理的。 为了
阅读全文 »
发表于 2025-01-18 20:45阅读:17评论:0推荐:0
摘要:"moduleResolution": "node" 是 TypeScript 编译选项之一,它指定了模块解析策略,具体来说是指定如何查找和解析模块。当你的项目中使用了 import 或 require 语句来导入其他模块时,TypeScript 编译器需要知道去哪里寻找这些模块以及如何解析它们的路
阅读全文 »
发表于 2025-01-17 22:01阅读:34评论:0推荐:0
摘要:jsonpath-plus 是一个功能强大且灵活的 JSONPath 实现,用于在 JavaScript 环境中查询和操作 JSON 数据结构。JSONPath 是一种查询语言,类似于 XPath 用于 XML 的方式,它允许你以简洁的方式从复杂的 JSON 文档中提取特定的数据片段。jsonpat
阅读全文 »