自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1214)
  • 资源 (5)
  • 收藏
  • 关注

转载 在vue中,为什么不能用index作为key?

啊?不是吧,在vue中,不能使用index作为key呢?使用index作为key又好理解又方便,为什么不能使用呢?看文章就知道啦~.一、key的作用是什么?key的作用众所周知,看一个demo就知道:<scriptsrc="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><body>...

2022-11-25 08:40:22 7

转载 10 分钟从源码搞懂 big.js 如何解决精度丢失问题

前言想必大家日常开发中经常碰到小数相加结果不准确的坑,也都知道这是因为精度丢失导致的,更是知道能通过一些库,比如 big.js、decimal.js 等解决,但是你知道它们是怎么解决的吗?今天我带大家一步步分析 big.js 部分源码,帮助大家理解这类库对精度丢失的处理方式。初窥门径 —— 打开调试窗口<!DOCTYPEhtml><htmllang="en">&lt...

2022-11-24 08:40:25 9

转载 常说的代码整洁到底是什么?

代码整洁之道写在前面这个文章本来没打算写,直到经历了几次代码评审会议之后,我意识到自己编码方式还不成系统,仍然需要进行系统化的学习,掌握前辈们总结出的最适用的规律无疑是一种好的方式。恰好很早之前就收藏了这本代码整洁之道,便决定趁着闲暇之际阅读总结一下,如果想系统学习的话建议还是读书,本文档只是作为自己的记录用。一个人的职业素养体现在解决问题的方式、步骤以及反思的程度,而不在于这个问题本身的难度。思...

2022-11-23 08:40:53 8

转载 这样封装列表 hooks,一天可以开发 20 个页面

前言在做移动端的需求时,我们经常会开发一些列表页,这些列表页大多数有着相似的功能:分页获取列表、上拉加载、下拉刷新···今天,就由八宝粥来手把手教你复用!在Vue出来compositionAPI之前,我们想要复用这样的逻辑还是比较麻烦的,好在现在Vue2.7+都支持compositionAPI语法了,这篇文章我将手把手带你用compositionAPI封装一个名为useList的...

2022-11-22 08:40:32 4

转载 2022年我的面试万字总结(代码篇)

前言又到了金九银十季,最近我也是奔波于各种面试。我自己总结整理了很多方向的前端面试题。借着国庆这个假期,也把这些题目总结分享给大家,也祝正在面试的朋友们能够拿到满意的offer。一、手写代码题1. 手写Object.create思路:将传入的对象作为原型functioncreate(obj){functionF(){}F.prototype=objreturnnew...

2022-11-18 08:40:14 3

转载 前端工作中常用 CSS 知识点整理

近期的生活是在是有点太美好了的,让我都觉得像是在做梦,哈哈哈哈哈,幸福的生活,莫过于此,你说是吧,莎老板,我也要更加努力的加油才是。我想你就是我的动力源吧。1.1文字溢出省略号:文字单行溢出:overflow:hidden;//溢出隐藏text-overflow:ellipsis;//溢出用省略号显示white-space:nowrap;...

2022-11-17 08:40:29 4

转载 提升代码可读性,减少 if-else 的几个小技巧

前言????‍♂️相信大家或多或少都接触过拥有庞大 if else 的项目代码吧,多重嵌套的 if else 在维护的时候真的让人很恼火????,有时候一个 bug 排查下来,严重感觉身体被掏空????。本文并未有消灭或歧视 if else的意思,if else 的好用都知道,这里只是在某些特定场景为大家额外提供一种思路,增加我们代码的可读性????。短路运算????Javascript 的逻辑或 || 的短路运算有时候可以用...

2022-11-16 08:40:18

转载 2022 你还不会微前端吗 — 从巨石应用到微应用

前言微前端系列分为 上/下 两篇,本文为 上篇 主要还是了解微前端的由来、概念、作用等,以及基于已有的微前端框架进行实践,并了解微前端的核心功能所在,而在下篇 **2022 你还不会微前端吗 \(下\) — 揭秘微前端核心原理**[1] 中主要就是通过自定义实现一个微前端框架来加深理解。2AA922E9.gif微前端是什么?微前端 是一种类似于微服务的概念,因此要想更好的了解微前端,就必须先了...

2022-11-15 08:40:47 7

转载 从 0 搭建 Vite 3 + Vue 3 前端工程化项目

前言Vue 3 正式版已经发布有一段时间了,随着 Vite 脚手架注定成为下一代前端工具链,许多用户都想基于 Vite 来构建 Vue 项目,如果想基于 Vite 构建 Vue 3 项目,社区模板完全满足您的需求,如果想构建 Vite 3 + Vue 3 + JavaScript 项目,那社区模板不太能满足您的需求,因为社区模板提供 Vue 3 项目几乎是基于 Vite 2 + TypeScrip...

2022-11-14 08:40:28 5

转载 写 TypeScript 时,很多人可能会犯的几个错误!

TypeScript 和 JavaScript 在过去几年中不断进步,我们在过去点时间中建立的一些实践可能已经过时。有些可能永远没有意义,下面我列出了很多=开发者可能会犯的几个错误!1.没有使用严格模式通过使用没有严格模式的 tsconfig.json。image.png使用严格模式后。image.png我们为什么要使用严格模式?严格模式可以消除语法里一些不合理,不严谨的地方,可以让TS往更合理、...

2022-11-11 08:40:26 5

转载 我在 vue3 开发中踩的坑

前期准备由于 vite 在开发态是基于 ESM 进行模块化开发, 而 ESM 的浏览器兼容版本有限,如下图。esm-兼容所以,如果你打算使用 vite 作为构建工具去开发,你至少要有一个合适版本的浏览器。如果你和我一样,Chrome 版本的浏览器比较低,但是又不想升级,想留着偶尔方便自测和定位浏览器兼容问题,那我推荐你安装一个Chromium。这样你就可以一个电脑里面拥有两个 Chrome。_没有...

2022-11-09 08:40:58 99

转载 前端人 70% 以上 不了解的迭代器/可迭代对象/生成器

前言前文再续,书接上一回。上周一个偶然的机会写的一篇this指向,超出了我的意外,获得了许多的赞和收藏,所以我决定从现在开始,坚持每周用心写一篇有关于前端的技术文章(ES6和难理解的知识点)。一边用来巩固自己以前学习的知识,一边分享给大家,让大家也能有所收获。另外今天是中秋节,祝大家中秋节快乐,中秋节要吃月饼。1. 什么是迭代器?概念(维基百科): 迭代器(iterator),是确使用户可在容器对...

2022-11-08 08:40:33 39

转载 当面试官让我回答 React 和 Vue 框架的区别......

Vue 和 React 作为当前前端两大火热的框架,面试的时候自然不少被提及:请说一下你对react/vue框架的理解请对比一下两大框架的优缺点其实react和vue大体上是相同的,比如都使用虚拟DOM高效的更新视图,都提倡组件化,都实现了数据驱动视图,都使用diff算法,也都对diff算法进行了优化,都有router库实现url到组件的映射,都有状态管理等等.....但是在具体实现上又不尽相同,...

2022-11-07 08:40:26 39

转载 精进 JavaScript | 这些手写你都会吗 ?

前言不知道今年大家有没有感受到来自互联网的“寒气”,至少我是感受到了,面试的时候手写代码时很常见很常见的事情了。有时候没遇到过还真一时半会写不出来,企业招聘的要求也是越来越高,尤其是一些大厂会对 JS 的功底有着更加苛刻的要求,所以学会手写常见的 JS 模块好像已经快变为一个基本技能了,也慢慢变为我们手写 webpack 手写 mini-vue 的一个 coding 基础 了。当然我们也不完全是为...

2022-11-03 08:40:06 26

转载 如何通过性能优化,将包的体积压缩了62.7%

今天前同事找到我,向我请教了一个性能优化的问题,我简单的跟他回答了一下例如组件懒加载、路由懒加载、开启gzip、公共的第三方包上cdn、还有基础的雅虎53条军规一条条排查等等。我说完这些,他好像不是很满意,想让我多说一点。于是,我想起了在上一家公司的基于vue-cli@2的项目正好做了一次优化。之前那个项目包找不到了,我临时用vue-cli@2脚手架搭了一个项目,基于mint-ui写了10+的页面...

2022-11-02 08:40:07 19

转载 前端基于husky通过eslint检测提交代码

What's husky当您提交或推送时,您可以使用 husky 来检查您的提交消息、运行测试、检查代码等Husky 支持所有 Git 钩子[1]。How it works以一种非常 Linux 的方式,要配置 Git 挂钩,您只需将可执行文本文件放入.git/hooks/, 为了能够运行用户在 .huskyrc.js中创建的任何 Git 钩子,husky 正在将所有可能的钩子安装在.git/ho...

2022-11-01 08:40:21 51

转载 前端性能优化到底该怎么做(下)- 直捣黄龙

前言在上一篇 **前端性能优化到底该怎么做(上)— 开门见山**[2] 一文中介绍了和前端性能优化相关的一些前置知识,那么本篇就针对优化方案进行总结,核心的方向还是上篇文章中提到的内容:**保证资源更快的 加载速度**:达到越快渲染越快,视图展现就越快**保证视图更快的 渲染速度/交互速度**:用户与页面交互,前提是页面要渲染出来,其次是页面需要尽早反馈,目的就是保证用户良好的体验性其实将上述两点...

2022-10-31 08:40:27 13

转载 2022 JavaScript 年度报告(翻译)

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情介绍JavaScript 是一股强大的力量,它在网络上提供了最大份额的交互性。它将行为从简单推向复杂,并使网络上的事情比以往任何时候都多。然而,增加使用 JavaScript 来提供丰富的用户体验是有代价的。从下载、解析和编译 JavaScript 的那一刻起,到它执行的每一行代码,浏览器必须协调各种工作...

2022-10-28 08:40:02 22

转载 vue3+vant开发微信公众号网页爬坑不完全指北

前言8月底的时候接到了一个微信公众号网页开发的任务, 在此之前我从没开发过微信公众号网页的项目, 心想这回又能学到新东西了, 然后又是移动端项目, 可以放心地使用框架和es6+的语法提升开发体验了, 因为平时的项目很多都是jQuery, 并且需要兼容低版本ie浏览器.接下来就是技术选型, 结合我擅长的react考虑, 移动端UI组件首先我就想到了ant design mobile[1], 然后看看...

2022-10-27 08:40:43 98

转载 不使用第三方库怎么实现【前端引导页】功能?

前言随着应用功能越来越多,繁多而详细的功能使用和说明文档,已经不能满足时代追求 快速 的需求,而 引导页(或分步引导) 本质就是 化繁为简,将核心功能以更简单、简短、明了的文字指引用户去使用对应的功能,特别是 ToB 的项目,各种新功能需求迭代非常快,免不了需要 引导页 的功能来快速帮助用户引导。下面我们通过两个方面来围绕着【前端引导页】进行展开:哪些第三方库可以直接使用快速实现功能?如何自己实现...

2022-10-26 08:40:41 23

转载 《羊了个羊》第二关我过不去,那我自己写个《狗了个狗》玩可以吧?

前言今年一款叫《羊了个羊》的微信小游戏爆火朋友圈,成为了很多打工人上班摸鱼的一把好手,我当然也不例外哈哈哈,于是我忍不住好奇心的折磨,也点开试玩了一盘,没想到就此落入了深渊,第一关结束后,我寻思,这游戏TM这么简单不是有手就行?于是紧接着第二关就措不及防的给了我几个耳光(爆粗口是吧、觉得简单是吧),在玩了几盘之后,我怒火中夹杂着不服,于是我决定,既然你不让我过,那我自己使用原生js复刻一个《狗了个...

2022-10-25 08:40:21 36

转载 Vue2 到 Vue3,重学这 5 个常用的 API

距离Vue3发布已经过去一年多时间了,从Vue2到Vue3是一个不小的升级,包括周边生态等。虽然目前大多数开发者们在使用的仍旧以Vue2为准,但Vue3显然是Vue开发者们未来必须面对的,而且前不久Vue官方也发布了Vue2.7.0,使得Vue2可以兼容Vue3的API,这让开发者可以在项目不升级Vue3的情况下依旧可以使用Vue3的开发方式,这为Vue2开发者学习Vue3提供了一个非常好的过渡途...

2022-10-24 18:02:53 36

转载 React 性能优化的那些事儿

要讲清楚性能优化的原理,就需要知道它的前世今生,需要回答如下的问题:React 是如何进行页面渲染的?造成页面的卡顿的罪魁祸首是什么呢?我们为什么需要性能优化?React 有哪些场景会需要性能优化?React 本身的性能优化手段?还有哪些工具可以提升性能呢?为什么页面会出现卡顿的现象?为什么浏览器会出现页面卡顿的问题?是不是浏览器不够先进?这都 2202 年了,怎么还会有这种问题呢?实际上问题的根...

2022-10-21 08:40:59 27

转载 听说你很了解 Vue3 响应式?

前言<< 温馨提醒 >> 本文内容偏干,建议边喝水边食用,如有不适请及时点赞!【A】:能不能说说 Vue3 响应式都处理了哪些数据类型?都怎么处理的呀?【B】:能,只能说一点点...image.png【A】:...只要问到 Vue 相关的内容,似乎总绕不过 响应式原理 的话题,随之而来的回答必然是围绕着 Object.defineProperty 和 Proxy 来展开(即...

2022-10-20 08:40:40 15

转载 前端性能优化到底该怎么做(上)- 开门见山

前言前端性能优化 又是个听起来很高大上的词,确实是的,因为它需要 **高在性能,大在范围**,所幸很多大佬都已经输出了很多高质量的内容供大家参考,作者最近也在学习和了解这方面的内容,对如下文中的一些理解若有不当之处,可在评论区指正!!!前端性能优化这个内容打算分为 上下两篇,本来打算一篇写完,但发现前置知识部分已经占了 3000+ 文字,因此本篇文章主要还是讲解一些必要了解的前置内容。前端性能优化...

2022-10-17 20:04:14 25

转载 封校心态不好,写了个解压游戏,背景音乐和音效让人很舒心!

前言疫情一波接着一波,学校都不敢放我们出去了,一直关在学校,现在学校特别注重心理健康,不要因为封校出现心理问题。希望疫情早日结束,见到想见到人,去想玩的地方玩,过节回家团圆,早日回到正轨!游戏体验游戏在线体验有背景音乐和音效,建议各位去github上体验!游戏在线体验地址:github在线[2]游戏玩法中间的白色圆球是玩家。点击黑色地区,会向那个地方发射白色子弹,并且会有发生子弹的音效,码上掘金没...

2022-10-14 08:40:12 44

转载 Vue 可视化大屏适配插件之过程篇

一直以来都想自己写一款插件去解决大屏的适配问题,最近终于有时间去完成这件事,特此记录下过程中碰到的问题。注册 vue 指令如何支持类型提示?文档说 vue 插件的 use方法是支持第二个参数的,一开始打算通过第二个参数做基础配置。能正确读取到该参数,可是不知道怎么做类型提示,因为官方定义的是 any[], 那我总不能让使用者去从我的插件里导出类型再去 as 吧?谷歌了问题,翻了 issue , 也...

2022-10-12 08:40:21 157 1

转载 关于图片加载,你需要学习一下

???? 从何而来这篇文章,出自我自己的开源组件库 fighting-design[2] 中的 Avatar 头像[3] 组件的 load-image[4] 类。相比于其它的静态组件,像图片加载这种的组件,内部我做了很多的优化,对于图片的加载和错误的处理,我都尽可能的将每种可能出现的结果都考虑到,针对每种不确定的结果做出相应的提示,以便于提升用户体验。???? 设计思路我的设计想法是:通过一个加载类,传入 d...

2022-10-11 08:40:05 49

转载 纯 JS 实现语雀的划词高亮功能

前言前段时间公司需要实现一个划词评论的功能,但是到网上找了一圈发现划词评论的库并不多,而且大部分的实现都是需要破坏页面 DOM 结构的,也就是需要在页面 DOM 结构中拆分文本包裹一个 mask 标签,但是由于我们做的是在线富文本文档功能,文本的内容是可以再编辑的,如果评论破坏了 DOM 结构这样对我们编辑的时候编辑器解析就不是很友好。找到最后发现语雀实现的划词评论功能是基于 canvas 实现的...

2022-10-10 08:40:28 38

转载 你的图片加载,一点都不酷炫!不信 You Look Look

对于图片加载,咱们可以更酷炫一点!比如这样!GIF 2022-7-18 16-14-31-min.gif这样!GIF 2022-7-19 22-47-26-min.gif这样!GIF 2022-7-19 22-54-52.gif这样!GIF 2022-7-19 11-10-53.gif还有这样的!GIF 2022-7-19 19-58-15.gif前言现代网站中的图片使用量是很大的,在一些门户网站...

2022-09-28 08:40:28 34

转载 好消息,完整版的 jwt 鉴权机制来了呦

一、是什么JWT(JSON Web Token),本质就是一个字符串书写规范,如下图,作用是用来在用户和服务器之间传递安全可靠的信息在目前前后端分离的开发过程中,使用token鉴权机制用于身份验证是最常见的方案,流程如下:服务器当验证用户账号和密码正确的时候,给用户颁发一个令牌,这个令牌作为后续用户访问一些接口的凭证后续访问会根据这个令牌判断用户时候有权限进行访问Token,分成了三部分,头部(H...

2022-09-27 08:40:26 40

转载 给我实现一个前端的 Excel 导入和导出功能

前言【**负责人 A】:现在报表部分基于接口的 Excel 的导入和导出功能有点慢,前端这边能不能实现一下这个功能,然后我们在比对看看效果!**【**切图仔 B**】:接口这边不能优化一下吗?比如排查下慢的原因什么的。【**负责人 A】:现在后端开发任务比较重,处理的核心任务也多还会涉及一些架构上的调整,所以想着前端这边可以处理一下,然后看看整体效果。**【**切图仔 B**】:OK,试试 就 ~...

2022-09-26 08:40:37 42

转载 狂肝半个月!1.3 万字深度剖析 Vue3 响应式(附脑图)

写在前面本文的目标是实现一个基本的vue3的响应式,包含最基础的情况的处理,本文是系列文章,如果你对vue3还不了解,那么请移步:超详细整理vue3基础知识????[1]本文你将学到一个基础的响应式实现 ✅Proxy ✅Reflect ✅嵌套effect的实现 ✅computed ✅watch ✅浅响应与深响应 ✅浅只读与深只读 ✅处理数组长度 ✅ref ✅toRefs ✅响应式.png一. 实现一个完...

2022-09-23 08:40:28 83

转载 Vite 是怎样利用 Esbuild 来提升性能的 ?

前言在上一篇 为什么有人说 vite 快,有人却说 vite 慢?[1] 中,我们提到过开发模式下使用 Vite 会有首屏性能下降的负面效果。之所以会造成首屏性能下降,一方面是 dev server 需要完成预构建才可以响应首屏请求;另一方面是需要对请求文件做实时转换。也许有的同学会问,是不是针对这两个方面做优化,就可以提升首屏性能呢?原则上这样是没有问题的,而且 Vite 也是这么做的。为了能提...

2022-09-22 08:40:04 40

转载 Typescript 类型编程,从入门到念头通达

前言探索经历我不知道我不知道我曾经以为 Tyepscript 只是在 Javascript 基础上加一些类型注释,是 JavaScript 的增强版而已,属于有手就会。我知道我不知道直到我用到了 Prisma 这个 NodeJS ORM 工具,其生成的类型定义,可以根据你的参数,完美应对关联查询、部分查询等各种场景,完全吊打其他 NodeJS ORM。出于好奇,我看了以下源码:这还是我认识的 Ty...

2022-09-21 08:40:54 62

转载 对国际化 i18n 项目的一点思考

国际化是什么?国际化 对应的英文单词为 Internationalization,又称 **i18n**:i 为单词的 【第一个】 字母18 为 【**i 和 n 之间**】 单词的个数n 代表这个单词的 【最后一个】 字母如果你的项目是 Vue,那么相信你在实现国际化功能时,也必不可少的会使用到 **`vue-i18n`**[2] 这个库,接下来本文也是通过这个库搭配 Vue 实现最基本的国际化...

2022-09-20 08:40:05 73

转载 这样用 lerna 也太爽了吧!

Hi,大家好。我是yxchan????‍????。不知道大家团队内的npm包代码是「分开管理」还是「合并管理」的呢?关于代码库管理,一般是两种常见方案:multirepo: 把项目按模块拆分为 多 个仓库;monorepo: 把所有项目放在 单 个仓库中;multirepo优点:每个同学都拥有自己的仓库,可以用自己擅长的「语言」、「工具」、「workflow」等,效率“高”;缺点:代码质量得不到保证,如果项目...

2022-09-19 08:40:22 85

转载 JavaScript 代码优化之道

我们先引入一句话:代码主要是为了写给人看的,而不是写给机器看的,只是顺便也能用机器执行而已。代码和语言文字一样是为了表达思想、记载信息,所以写得清楚能更有效地表达。本文多数总结自《重构:改善既有代码的设计(第2版)》我们直接进入正题,上代码!提炼函数what将一段代码提炼到一个独立的函数中,并以这段代码的作用命名。where如果需要花时间浏览一段代码才能弄清楚它到底要干什么,那么这时候就应该将其提...

2022-09-15 08:40:17 53

转载 图文结合简单易学的 npm 包的发布流程

聪明的你做了几个项目之后,有没有发现发现某些工具方法或者组件的使用频率很高,好多项目都在用。如何做到这些工具方法或者组件的更优雅地复用而不是用到了就复制粘贴呢?封装为一个npm包是一个不错的选择。本文以图文结合的方式介绍了如何从0到1发布一个npm包,文中的一些关键点的说明将帮你避坑提效。欢迎阅读学习~1.代码准备每个人要发布的npm包类型都不尽相同,有UI组件库,有工具函数库,还有使用的插件等。...

2022-09-14 08:40:23 38

转载 中杯超大杯中间的新选择—— Vue2.7 + Vite + TS 实践

前言选择vue2,是因为我们的网页需要支持IE11。但是同时,我们又非常向往vue3那种组合式API的开发方式。我们还希望有vite,用于加快服务器启动和打包的速度。为了进一步写出规范的代码,减少出错的可能,我们再用上TypeScript,TypeScript的使用,除了更好的类型判断,最最重要的,是更好的面向接口编程。Vue2和Vue3怎么选择?对于vue2和vue3的选择,主要需要考虑的点还是...

2022-09-09 08:40:26 254 1

tableview下拉图片放大,导航条透明

tableview下拉图片放大,导航条透明

2017-02-08

iOS CoreGraphics绘图

core Graphics与UIKit绘图由基础入门到深入研究,所有代码与详细注释

2017-01-04

iOS https请求

iOS https请求

2016-12-21

iOS 旋转罗盘菜单

iOS 旋转罗盘菜单

2016-12-21

Xcode iOS_10.2 (14C92)_developer_diskimage

Xcode iOS_10.2 (14C92)_developer_diskimage

2016-12-19

空空如也

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

TA关注的人

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