自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 在 Cocos Creator 中,获取另一个脚本的方法该如何做?

通过获取脚本:是最常见的方式,只要知道目标脚本挂载在哪个节点上。通过事件机制:可以解耦脚本之间的关系,使用或Message系统来传递信息。使用单例模式:在跨多个脚本共享方法时,可以通过全局管理器或者单例模式来实现。

2025-02-13 09:25:46 556

原创 项目多分支切换,不想提交代码怎么办-- --git stash

如果你在多个分支之间来回切换,并且不提交代码,也不想删除代码,这时git stash是一个有用的工具,但它并不是唯一的解决方案。让我们详细看看git stash。

2025-01-23 10:34:31 626

原创 什么是 IndexedDB?

IndexedDB 是一种运行在浏览器中的 NoSQL 数据库,适用于存储大量结构化数据(如 JSON 对象)。与 LocalStorage 不同,IndexedDB 的特点是支持异步操作、事务处理以及索引查询。

2025-01-22 11:03:33 750

原创 什么是稀疏数组?

稀疏数组是指包含空位或未定义元素的数组,这些空位并不占用内存空间。可以通过Array构造函数或delete操作符来创建稀疏数组。JavaScript 的迭代方法(如forEachmapfilter等)会跳过空位,处理时需要特别注意。稀疏数组在length属性、内存使用和性能上有一些特殊表现,处理时需要小心。

2025-01-17 14:14:20 680

原创 深入了解浏览器的 Performance 标签:性能分析与优化指南

标签是一个强大的工具,帮助开发者详细分析和优化网页性能。通过它,你可以深入了解页面的加载时间、渲染效率、JavaScript 执行情况等,并针对发现的瓶颈进行优化。这对于提升用户体验、提高页面加载速度、减少延迟具有重要意义。

2025-01-16 14:52:33 1185

原创 你不知道的console

console对象提供了丰富的输出和调试功能,帮助开发者在开发过程中快速查看变量的值、调试代码流程、记录错误和警告信息等。常用的console方法包括log()error()warn()info()table()group()time(), 等等。掌握console的使用可以大大提升调试效率,尤其在开发复杂应用时,它能够帮助你快速定位和解决问题。

2025-01-16 09:21:41 1888 1

原创 HTTP 与 SSH 在 Git 中的区别与选择指南

特性HTTPSSH认证方式用户名 + 密码(或个人访问令牌)SSH 密钥对(公钥/私钥)安全性较低(虽然使用 HTTPS,但仍需传输密码)高(基于密钥,避免了密码传输)配置复杂度简单,直接使用 HTTPS URL稍复杂,需要生成和配置 SSH 密钥性能相对较慢,需要每次身份验证较快,身份验证只需一次适用场景不频繁操作,或不想配置 SSH 的用户经常进行 Git 操作的开发者如果你是偶尔使用 Git或不想进行 SSH 配置,可以使用 HTTP(HTTPS)方式

2025-01-15 09:23:23 2098

原创 什么是 Tree Shaking?

Tree Shaking 是现代前端构建中的关键优化技术,它能显著减少未使用代码,降低打包体积并提升性能。:Tree Shaking 对 CommonJS 的支持有限,因为 CommonJS 的动态特性使其依赖关系难以分析。Rollup 是一个以 Tree Shaking 为核心设计的打包工具,天然支持移除未使用的代码。:如果打包工具未正确配置 Tree Shaking 或没有启用压缩优化,未使用的代码可能不会被移除。Vite 的生产构建中默认启用 Tree Shaking,无需额外配置。

2025-01-14 11:27:39 1054

原创 前端项目打包体积的分析和优化

前端项目打包体积过大可能影响页面加载速度和用户体验,因此分析和优化打包体积是一个非常重要的步骤。结合 Webpack/Vite 的 SplitChunks 或动态导入配置,可进一步优化代码拆分。开启详细打包日志,观察哪些模块体积较大。例如,在 Webpack 中设置。运行打包后会生成一个交互式图表,显示各模块的体积占比。等体积小、支持 Tree Shaking 的替代库。Tree Shaking 是移除未使用代码的优化技术。优化后可以大幅度降低包体积,提高加载速度和用户体验。

2025-01-14 10:31:55 1273

原创 什么是 JWT?

JWT(JSON Web Token)是一种基于 JSON 的开放标准(RFC 7519),它用于在各方之间安全地传输信息。信息可以被验证和信任,因为 JWT 是通过签名生成的。

2025-01-13 16:19:50 782

原创 为什么npm i 要加上--save-dev

这些依赖项通常是开发过程中需要使用的工具或库,而不是在生产环境中运行代码时需要的依赖。的标志,有助于明确开发依赖和生产依赖之间的界限,从而优化项目的依赖管理和生产环境的性能。在较新的 npm 版本中,可以使用。是一个标志,用于将依赖项安装为。标志,依赖会被添加到。文件重新整理依赖项。

2025-01-13 11:13:37 875

原创 简单总结什么是前端常说的闭包

闭包是函数“记住”了它被创建时的作用域,从而能够在函数执行时,继续访问这些变量,即使外部作用域已经销毁。

2025-01-13 10:35:00 393

原创 前端如何展示PDF文件内容

最简单的方式:使用iframe或embed标签直接嵌入 PDF 文件。更复杂但功能更强的方式:使用 PDF.js 库,提供更多的控制和自定义功能。快速打开 PDF:可以通过打开 PDF 文件。

2025-01-10 10:37:31 2718

原创 一文教会你如何解决npm install 报错

一些项目的依赖可能对 Node.js 版本有要求。例如,部分 依赖可能不支持较新的 Node.js 版本。检查是否需要全局安装特定依赖: 如果报错提示缺少某些依赖,可以尝试全局安装。某些依赖可能因为版本冲突或缺失而无法安装,尤其是老旧的 项目。如果你的网络环境不佳(例如被墙),可能会导致依赖下载失败。版本可能会引入严格的依赖检查,导致旧项目无法正常安装。某些依赖需要全局安装,或者你的本地开发工具链有问题。: 查看报错信息中提到的依赖模块(如。文件,且文件中列出的依赖是完整的。: 如果依赖之间存在。

2025-01-10 10:18:08 902

原创 何时使用构造函数?

在需要构建自定义 UI 元素时,可以使用构造函数初始化元素的属性(如按钮的文本、样式等),并且让这些组件具备一定的功能。定义类(Object-Oriented 编程):使用class关键字定义对象模型,并通过构造函数来初始化实例的状态。初始化配置信息:构造函数可用于为对象提供灵活的初始化配置。UI 组件创建。

2025-01-09 14:27:36 694

原创 构造函数中为什么不能写return

在 JavaScript 中,构造函数()的行为是与普通函数有所不同的,特别是在return语句的使用上。了解为什么构造函数不能写return语句,以及它的工作原理是理解 JavaScript 中构造函数设计的一部分。

2025-01-09 14:08:01 462

原创 CSS 变量(自定义属性)详解

CSS 变量(Custom Properties)是现代 CSS 的强大功能,允许我们定义可复用的值,并在 CSS 文件中动态使用这些值。使用 CSS 变量可以大幅提升代码的可维护性和灵活性。

2025-01-07 10:01:35 562

原创 大佬口中的AST到底是什么?

就是把代码转化成JSON结构的数据,方便代码分析或者代码转换。AST,全称(抽象语法树),是代码的结构化表示,主要用于描述代码的语法结构,同时以树状的形式表达代码各个组成部分之间的关系。变量声明函数调用运算表达式抽象语法树被广泛应用于**编译器、代码分析工具、代码转换工具(如 Babel、ESLint、Prettier)**中。AST 的作用代码分析:工具如 ESLint 会通过解析代码生成 AST,然后检查代码是否符合规范。代码转换。

2025-01-06 11:25:07 936

原创 前端基础知识:浏览器的进程与线程

将不同的功能模块运行在独立的进程中,以提升性能和稳定性。是浏览器中的核心模块之一,其内部又包含多个线程协同工作。现代浏览器(如 Chrome、Edge)采用了。

2025-01-06 10:27:23 1083

原创 前端开发知识:ES Modules 的工作原理

ES Module(ESM,全称 ECMAScript Module)是 JavaScript 官方引入的模块化方案,从 ES6(2015)开始成为标准。它在浏览器和 Node.js 中都被支持,提供了一种更加现代、简洁和高效的模块化机制。ES Modules 是一种现代化的模块化标准,具备更高效的性能和更强的可维护性,特别适用于现代前端开发。通过静态解析和按需加载,ESM 不仅优化了开发流程,还显著提高了项目的性能表现。即使多次导入同一个模块,也只会加载一次,且返回的始终是同一个模块实例。

2025-01-06 09:20:03 864

原创 怎么解释Promise-like

方法的对象都可以被认为是 "thenable"。这个对象可能并没有真正的异步行为,但它看起来像是一个。这种对象通常用于一些异步操作库或者框架中,提供与。方法,因而可以被视作是一个 "Promise-like" 对象。实例,但它们为异步编程提供了类似的接口和行为。"Promise-like" 是一个对象,具有与原生。),并且返回一个新的对象,可以继续链式调用。,因此称之为 "Promise-like"。指的是一种对象,虽然它不是原生的。方法,虽然它并不是真正的。的对象,它们并不完全是。

2025-01-02 13:51:27 338

原创 面试再问到VUE中DefineProperty和Proxy区别,就这么回答。

是 ES6 中引入的一个新特性,它允许我们定义一个对象的代理,能够捕获对对象的所有操作(例如:读取属性、修改属性、删除属性等)。:这种方式通过劫持每个属性的 getter 和 setter 来实现响应式,适用于简单的对象,但对于深度嵌套的对象或动态添加的属性会导致性能问题。能够代理整个对象,支持更多的操作,并且性能更好,能够自动响应新增和删除的属性,代码更简洁且无需递归处理,适合复杂对象和大规模应用。都是用来实现响应式的技术,但它们有很大的不同,尤其是在 Vue 2 和 Vue 3 中的实现和性能上。

2025-01-02 11:09:47 640

多图片转base64格式node脚本

一键将多图片转化为base64工具脚本。 无需单个图片处理,将多图片放入文件夹后自动转化为base64格式图片。

2025-02-18

css3神奇的头像效果

纯CSS3开发生产动态头像

2025-01-07

nodeJS扫描项目中所有可访问页面文件路径

场景描述 在多包管理(monorepo)项目中,通常每个模块或包可能拥有独立的路由文件。而为了实现路由统计和统一管理,我们需要扫描整个项目中的所有页面路由(如 React 的 pages 文件夹或 Vue 的路由文件夹),并将这些路由路径汇总输出为一个模块化的 JSON 文件。此操作可以通过 Node.js 提供的 fs(文件系统)和 path(路径解析)模块快速实现,极大提高多包管理项目的统计效率。 能学到什么: 熟悉 Node.js 的 path 和 fs 模块功能,掌握递归遍历文件夹的方法。 学会通过路径解析和文件过滤提取有效的页面路由信息。 了解如何使用 Node.js 动态生成 JSON 文件,为项目路由管理提供便利。

2025-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除