- 博客(198)
- 资源 (1)
- 收藏
- 关注
原创 前端面试宝典---webpack面试题
plugin: 插件,主要是扩展webpack 的功能,在 webpack 的运行周期里,会有一些 hooks 对外暴露,所以在webpack 打包编译的过程中, plugin 会根据这些 hooks 执行一些自定义的操作,来实现对输出结果的干预的增强。webpack 没有 loader 的话,只能打包基础的 cjs的 js 文件,对于 css,静态资源 是无法实现打包的,这时候就需要引入 一些 loader 来进行文件的处理,更多的是,文件的。loader 更专注于 文件的转换,让输出资源的能力更丰富。
2025-05-12 23:27:09
62
原创 巧用promise.race实现nrm镜像源切换----nbsl
在复习Promise知识点时,发现Promise.race在实际开发中应用较少,于是深入思考了它的应用场景。最近使用nrm(npm镜像源切换工具)时,想到每次都需要手动切换镜像源来测试哪个更稳定。这引发了一个想法:是否可以通过一行命令,让系统自动选择最优的镜像源?这与Promise.race的设计初衷不谋而合。
2025-05-11 21:13:09
233
原创 前端面试宝典---JavaScript import ,import()与 Node.js require 的区别
import 是 ES6(ECMAScript 2015)模块系统的一部分,是 JavaScript 语言的标准语法require 是 CommonJS 规范的一部分,最初为 Node.js 环境设计。
2025-05-08 13:39:06
266
原创 前端面试宝典---性能优化
重绘是以图层为单位的,如果图层中某个元素需要重绘,那么整个图层都需要重绘。所以为了提高性能,我们应该让那些"变化的元素"单独作为一个图层。可以使用这个css属性单独开个图层。
2025-05-04 14:09:28
1113
原创 前端面试宝典---浏览器原理与网络知识(后续会更新网络安全相关的)
答案:最少启动了四个进程,分别是浏览器主进程渲染进程网络进程GPU进程读者可能会问如何查看呢:请看下图。
2025-05-03 12:36:55
608
原创 前端面试宝典---webpack原理解析,并有简化版源码
先看一下webpack打包后的bundle.js,前边的直接扫一眼就过,可以发现这个立即执行函数的形参就是一个,key为引入文件路径,value为该模块代码的函数。所以比较重要的就是通过webpack的配置文件中的entry的入口文件,递归去生成这个modules,并把代码中require变成__webpack_require__。
2025-05-01 15:52:56
891
原创 前端面试宝典---闭包
在 ES6 引入 let 和 const 之前,JavaScript 没有块级作用域,只有函数作用域。可以使用闭包来模拟块级作用域。
2025-04-14 21:57:46
263
原创 前端面试宝典---创建对象的配置
Object.create(原型,配置) => 对象 :用于基于指定原型和配置创建对象,可进行整个对象的多个配置。Object.defineProperty(对象,属性名,配置) :用于为一个对象的单个属性进行配置。
2025-04-10 22:34:05
410
原创 前端面试宝典---数据类型
undefined:当变量被声明但未赋值,或者函数没有返回值时,就会呈现 undefined 状态。null:null 代表一个空值,它是一个人为设定的空对象指针。number:该类型用于表示整数和浮点数。JavaScript 里没有专门区分整数和浮点数的类型。string:字符串是由零个或多个字符组成的序列,可使用单引号、双引号或者反引号来表示。symbol:这是 ES6 引入的新类型,symbol 是独一无二且不可变的数据类型,常被用作对象属性的键。BigInt。
2025-04-09 22:47:18
843
原创 告别网络依赖!Ollama×DeepSeek 打造的离线翻译神器,让多语言协作畅通无阻
本项目采用wxt+vue3+ts+less+element-plus+ollama+deepseek实现离线版浏览器翻译插件。
2025-03-22 09:36:35
225
原创 尚硅谷TS快速入门笔记(个人笔记用)
TypeScript 由微软开发,是基于 JavaScript 的⼀个扩展语⾔。TypeScript 包含了 JavaScript 的所有内容,即: TypeScript 是 JavaScrip t 的超集。![[|附件|/Typora 2025-01-07 11.53.14.png|200]]TypeScript 增加了:静态类型检查、接⼝、 泛型等很多现代开发特性,更适合⼤型项⽬ 的开发。
2025-03-10 21:04:10
863
原创 wxt框架浏览器样式污染与冲突的问题,三种方案,最后一种最有效!
最近公司有个项目要做浏览器扩展插件,我就在想有没有一种框架来方便我编写浏览器插件,果然功夫不负有心人发现了,它可以让我们按照vue或者react的方式编写浏览器插件。就在我吭哧吭哧开发的时候突然发现,中如果用elementPlus时竟然会影响到同样使用elemen-UI的页面。而且element-UI的样式同样会影响我们插件的样式。所以接下来的两天我就在调研解决这个问题,共尝试了三种解决方案。
2025-03-07 22:56:56
602
原创 nodejs携手python实现标书对比(防串标)
有一天领导让我去对比两个标书之间是否有重复或者极为相似的文本段落,我一看标书每个都是3000+页。看不完根本看不完,所以就萌生了用代码帮我查重的想法。到这里,作为一个程序员我该做些什么了!!!
2024-08-16 18:11:34
501
3
原创 ollama接口被nginx转发后出现403报错解决方法
请求ollama的服务接口,应该是有跨域的问题,所以在nginx转发时请求头中需要加入origin,并且origin还要和ollama接口同源(协议、ip、端口一致)。nginx需要设置请求时的origin请求头。nginx主要配置如下。
2024-06-30 19:58:38
5863
原创 巧用二进制实现俄罗斯方块小游戏
首先建立两个数组board、tetris用来存储当前已经堆积在棋盘的方块与正在下落的方块。这两个是一维数组当需要在页面画棋盘时就对其每一项转成二进制(看计算属性tetrisBoard),其中1(红色)0(白色)。判断是否可以下落:对board、tetris每一项 &(与操作),如果都为0则还可以下落,否则停止下落。判断是否触底:tetris的最后一项是否为0如果不为0则说明已经触底了: :对board、tetris每一项 &(与操作),如果都为0则还可以移动,否则停止移动。
2024-03-03 14:31:38
800
原创 对于随机生成图片接口浏览器走缓存的问题
有人可能会使用时间戳作为这个query,但是在v-for这个场景下是不实用的,因为v-for循环出来的是同一个时间戳(我已经试验过了),所以才采用的Math.random()
2024-01-20 22:55:21
824
原创 cytoscapejs获取被点击节点位置,并在该节点附近进行双击展示弹窗
【代码】cytoscapejs获取被点击节点位置,并在该节点附近进行双击展示弹窗。
2023-12-15 11:24:23
669
原创 vue子传父的一种新方法:this.$emit(‘input‘, value)可实现实时向父组件传值
今天要说的就是利用v-model和this.$emit(‘input’,value)实现子传父。众所周知,v-model是给input绑定,方便对表单的双向绑定。其实,v-model是个语法糖,具体案例如下所示。
2023-08-02 21:30:26
3552
1
原创 设计模式:组合模式
这个应用的地方也比较多,比如大多数系统的UI界面的导航菜单一般都是组合模式,再如Android里面的xml布局都是用的组合模式。在选择是否应用组合模式时,要考虑设计上的抉择,到底是要透明性更多一点,还是安全性更多一点,需要做一个平衡。
2023-01-11 18:35:19
140
原创 设计模式:桥接模式
设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:- 第一种设计方案是为每一种形状都提供一套各种颜色的版本。- 第二种设计方案是根据实际需要对形状和颜色进行组合。第二种方案就是桥接模式
2023-01-11 13:15:00
143
原创 设计模式:模块模式
摸块化模式最初被定义为在传统软件工程中为类提供私有和公共封装的一种方法。能够使一个单独的对象拥有公共/私有的方法和变量,从而屏蔽来自全局作用域的特殊部分。这可以减少我们的函数名与在页面中其他脚本区域内定义的函数名冲突的可能性。
2023-01-11 10:54:16
221
原创 设计模式:发布订阅模式
发布订阅模式是的订阅者和发布者可以不互相知道,他们通过第三方互相通知《触发信息》。而且第三方也只负责通知订阅者:发布者要求我通知你了。但是不会具体告诉订阅者需要做什么,订阅者自己掌控自己做什么,实现了完全的解耦。
2023-01-10 22:16:48
144
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人