- 博客(114)
- 资源 (6)
- 问答 (3)
- 收藏
- 关注

原创 GeoJSON格式规范说明
除此之外的任何其他类型的元素是允许的—其他元素的说明和意义超出了这篇规格说明的范围。如果对象没有crs成员,那么它将继承他的父对象或者祖父对象的crs成员作为它的crs。位置是基本的几何结构。几何对象的"coordinates"成员由一个位置(这儿是几何点)、位置数组(线或者几何多点),位置数组的数组(面、多线)或者位置的多维数组(多面)组成。这篇文档里的关键字“必须“,”不允许“,”需要“,”应当“,”应当不“,”应该“,”不应该“,”推荐的“,”也许“和”可选的“在IETF RFC 2119,
2025-02-12 15:00:49
1102

原创 `-webkit-font-smoothing`属性对字体的影响
最近在项目中遇到一个问题在项目中的字体显示的没问题,在一层弹窗中显示的字体也没有问题,但是在弹窗中套弹窗时,字体显示的就会比之前的粗,这个问题排查了好久,想过时字重的原因,但经过实验与排查,发现不是自重的原因。最后是通过一个个属性排查发现是`font-smoothing`这个css 属性的原因
2025-02-12 14:43:51
710

原创 Fabric.js 中文文档
Fabric.js 是一个功能强大的 canvas 库,它提供了一套丰富的 API 来操作 canvas 元素和上面的对象。通过配置项、方法和事件,开发者可以轻松地在网页上实现复杂的图形和交互设计。上述文档简要介绍了 Fabric.js 的一些基本用法和配置,更多高级功能和细节请参考官方文档。
2024-07-30 17:53:07
7809

原创 如何将几百兆的包优化到几十兆----记一次vue项目的打包优化过程
本次优化最终实现将项目包的大小由116MB降到了21.6MB,优化率达到了80%以上,可以说是一次非常成功的优化了,让一个大型项目能在只有5MB带宽的网络中能顺利使用起来。
2024-07-17 14:53:56
1599

原创 Ngnix 常用配置及和基本功能
Nginx 是一款高性能反向代理服务器,学习它非常有必要,本文讲解了 Nginx 核心配置,介绍了反向代理,负载均衡,动静分离三大功能,最后扩展了一些常用的指令。本文介绍了 Nginx 的基础用法,后续的 Nginx 内核以及原理部分有待研究。
2024-05-07 17:49:39
1030
原创 JavaScript性能优化
作为资深前端工程师,我经历过多个百万级用户项目的性能攻坚战。本文将从底层原理出发,结合现代浏览器特性与创新工具链,分享5大维度的实战优化策略,附真实场景代码对比。
2025-04-23 10:44:25
438
原创 两个新出的 JavaScript 运算符
在 ECMAScript 2021(ES12)中,JavaScript 引入了新的逻辑赋值操作符。仅在左侧变量为真值时才进行赋值,适合用于需要在保持假值的同时,根据真值条件更新变量的场景。虽然已经进入标准比较久了,但是我在实际开发中见到的还比较少,今天我们一起来学习下。这些操作符将逻辑运算符与赋值运算符相结合,提供了更加简洁、直观的赋值方式。操作符非常适合为可能未定义的变量设置默认值,且不会干扰有效的假值。时才进行赋值,适合用于为未定义或空值变量设置默认值的场景。时才赋值,避免了上述问题。
2024-11-19 15:07:28
370
原创 el-select 可搜索、多选状态遮挡住搜索框
最近在使用 element-ui 中 el-select组件遇到一个问题,我们需求可以多选,也可以输入搜索,当鼠标在边框时才是输入搜索状态,通过下面gif动图可发现鼠标经过边框时,才显示清空图标 并且鼠标无法点中清空图标经过调试发现,内部的所在div充满了整行元素导致鼠标无法聚焦到input所在元素,发现问题就好解决了,经过一番百度折腾发现有人说添加可以解决,抱着试一试的心理试试给元素添加发现鼠标能成功聚焦到输入框问题解决, 提交代码。
2024-10-21 16:32:46
358
原创 滚动条造成页面抖动
最近在做一个项目对于页面 UI 要求十分严格,需要精确到 1px 这就导致了有时候页面可以折叠在折叠与打开之后难免会出现滚动条,这就造成了出现滚动条之后页面会出现抖动这里我先采用的 js+padding-right 实现后面发现 css 有个属性可以直接实现。
2024-09-14 10:18:08
902
原创 canvas绘制表格
最近在为公司产品做技术预研,经理让用canvas做一个表格,于是就有了这篇博客。在这里为了方便实用我直接封装成组件了,当MQTT数据来了就出发绘制方法。我们的数据是后端通过MQTT推送过来的。具体MQTT的实现代码,可见博客。我在代码中也直接使用了。
2024-08-01 17:07:36
876
原创 konvajs绘制带有透明度的多边形
Konva 是一个HTML5 Canvas JavaScript 框架,它通过对 2d context 的扩展实现了在桌面端和移动端的可交互性。Konva提供了高性能的动画,补间,节点嵌套,布局,滤镜,缓存,事件绑定(桌面/移动端)等等功能。你可以使用 Konva在舞台上绘制图形,给图形添加事件,移动、缩放和旋转图形并且支持高性能的动画即使包含数千个图形。
2024-08-01 16:28:53
616
原创 vite 初始化vue3项目Cannot find module ‘vue’. Did you mean to set the ’ moduleResolution’ option to ‘node’
Cannot find module 'vue'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?
2024-07-16 14:24:51
440
原创 数据精度丢失
在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为String进行测试,确认了问题的根源。尝试在前端获取数据后立即转换为String类型,但发现数据在JavaScript中接收时精度已经丢失,因此最佳解决方案是让后端将id字段的类型改为String。
2024-07-16 12:17:50
579
原创 vue路由跳转报错Avoided redundant navigation to current location: “/xxxxxx“.
在使用Vue进行路由跳转时,若遇到“Avoided redundant navigation to current location”错误,这通常是因为尝试重复跳转到当前已经激活的路由。为解决这一问题,有两种主要方法。首先,可以考虑将vue-router版本升级到3.0,新版本可能已经修复了这个问题。其次,如果不想升级版本,也可以通过修改VueRouter原型对象上的push方法来避免这个错误。具体做法是在router文件中重写push方法,使其在执行时捕获并忽略这个错误,从而实现无缝的错误处理
2024-07-15 17:31:50
866
原创 log4js node日志插件
在Express后台项目的开发过程中,日志记录是一个重要的环节。起初,开发者可能考虑使用Node.js自带的console模块来实现日志输出,但往往发现其格式和功能无法满足实际需求。因此,经过搜索和比较,选择了log4js这一插件来实现更灵活的日志管理。
2024-07-15 17:25:32
544
原创 AI在编程领域的作用
AI(人工智能)在软件开发和许多其他领域都发挥着重要作用,但这并不意味着它在取代开发者。相反,AI更多地是在帮助开发者提高工作效率,解决复杂问题,并创造新的可能性。
2024-07-10 11:51:07
641
原创 2024前端面试题之Vue3
在面试前端工程师时,对于 Vue 3 的掌握程度是一个重要的考核点。本文将提供一系列针对这一级别工程师的 Vue 3 面试题,并附上详细的解析,帮助面试官全面评估候选人的技术实力和项目经验。
2024-07-10 11:35:09
4165
原创 程序员35岁会失业吗?
相反,通过合理的职业规划和持续的学习努力,许多程序员不仅能够在这一年龄阶段保持竞争力,还可能迎来职业生涯的新高峰。因此,即使从纯技术的角度看,年轻程序员在某些方面可能更具优势,但经验丰富的程序员在团队中仍然具有不可替代的价值。首先,必须承认的是,技术领域的确在不断变化,新的编程语言、框架和工具层出不穷。只要能够保持持续学习的热情,不断提升自己的技能和能力,那么无论年龄如何增长,都能够在竞争激烈的市场中立足。这意味着,无论是传统的软件开发还是新兴的技术领域,如人工智能、大数据等,都将持续需要大量的技术人才。
2024-04-01 11:20:23
799
原创 TreeData 数据查找
最近做需求的时候遇到了这样的一个需求,Tree组件数据支持查找,而且TreeData的数据层级是无限级的开始想的事借助UI组件库(Ant-design-vue)中的Tree组件的相关方法直接实现,看了下api 发现没法实现,后来想通过手动构建节点树实现,这样就需要写递归组件,需要重新写编辑,删除逻辑(本人有点懒所以就没采取),最后还是在数据上动手。
2024-02-22 15:31:25
745
原创 函数柯里化和反柯里化
柯里化和反柯里化都是非常有用的编程技巧,让我们可以写出更加灵活通用的函数。理解这两种技术的实现原理可以帮助我们更好地运用它们。在编码中,我们可以根据需要决定是将普通函数柯里化,还是将柯里化函数反柯里化。合理运用这两种技术可以大大提高我们的编程效率。
2023-08-02 15:26:49
199
原创 Cannot read properties of null (reading ‘setTransform‘)
Cannot read properties of null (reading 'setTransform')
2023-04-23 11:56:33
1057
原创 mapbox-gl.js:30 Error: Layer with id “test_map“ already exists on this map
mapbox-gl.js:30 Error: Layer with id "test_map" already exists on this map
2023-03-02 15:58:31
609
原创 js语法基础
##一、JavaScript基本介绍及发展趋势ES5是2019年发布,在所有现代浏览器中得到了相当完全的实现###二、编写JS及如何运行JS1.在HTML普通标签中直接写入JS代码写在标签上的 js 代码需要依靠事件(行为)来触发
2023-02-09 17:46:31
331
2024最全前端面试题
2024-07-15
vue+element后台管理类型框架.7z
2020-07-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人