自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端——什么是依赖注入与控制反转

给前端同学对依赖注入和控制反转进行简单解释,便于理解

2024-03-19 11:02:40 683

原创 使用TS装饰器从0封装一个socket.io服务器

使用TS,从0开始封装一个socket.io服务器,模仿nestjs的WebSocket装饰器。

2023-06-08 11:40:44 1233

原创 CSS或JS实现逐帧动画方案

使用css或js绘制可控制的逐帧动画

2023-01-29 18:16:20 3463 1

原创 webpack构建时堆内存溢出解决办法

今天使用yarn构建umi项目时,遇到了Javascript heap out of memory的问题,表明是构建过程中堆内存溢出。

2022-08-17 12:29:22 2324

原创 react识别字符串中的\n换行符

react如何识别字符串中的\n换行符

2022-08-16 10:42:16 6852

原创 Typescript 函数泛型与重载

Typescript 函数泛型与重载

2022-08-02 11:52:50 575

原创 React18, StrictMode下useEffect踩坑修复

React18, StrictMode下useEffect踩坑

2022-05-20 11:25:28 1257

转载 同步和异步,阻塞和非阻塞的概念

同步和异步概念与消息的通知机制有关:对于消息处理者而言,在同步的情况下,由处理消息者自己去等待消息是否被触发;在异步的情况下,由触发机制来通知处理消息者,然后进行消息的处理。同步和异步仅仅是关于所关注的消息如何通知的机制,而不是处理消息的机制。阻塞和非阻塞与消息的处理机制有关:阻塞模式是指在指定套接字上调用函数执行操作时,在没有完成操作之前,函数不会立即返回。非阻塞模式是指在指定套接字上调用函数执行操作时,无论操作是否完成,函数都会立即返回。同步与阻塞,异步与非阻塞并不是两对相同的概念,要注

2022-05-19 10:25:23 208

原创 React 将多个ref同时赋给一个element

有一个组件中有两个ref,一个f是orwardRef暴露出的ref,另一个是内部维护的ref如何将这个两个ref都赋到 一个element上?

2022-05-17 18:31:19 1642

原创 useMemo触发React更新

useMemo可以用于触发React更新

2022-05-13 19:04:33 958

原创 写了一个React动画插件(有点小不能算库了。),用于在Web上实现Fluent Design中的描边光效

写了一个React库,用于在Web上实现Windows 10 的设计语言Fluent Design 的描边光效。Fluent Design Reveal Effect

2022-04-19 14:46:35 444

原创 使用CSS Module时,如何对子元素样式进行覆盖

如: 给一个封装好的组件赋予 miniSize 的className,但是它内部有一个className为 mini-size-text span元素,我想修改它的font-size,应该怎么做?Child.jsx<div className={className}> <span className="mini-type-title"></span> <span></span></div>Paren

2022-03-22 14:57:09 2335 2

原创 Vue组件递归 及 循环依赖 解决办法

组件递归(引入自己)在写一个menu组件时,需要用到递归生成组件树的方法。但是 “怎么在这个组件内部引入自己????”解决办法添加name option,无需注册组件,直接在内部使用<MenuItem></MenuItem><script>export default { name: "MenuItem"}</script>循环依赖我有一个Menu组件,一个MenuItem组件。Menu组件内部接收一个名为l

2022-03-20 23:52:47 2583

原创 macOS iterm2 使用rz sz命令

下载homebrew(如果没有的话)下载lrzsz下载iterm2下载iterm2-*.sh配置profiles

2022-03-07 16:54:59 1104 1

原创 macOS iterm2 ssh自动登录脚本

代码内容将代码存在任意位置,文件扩展名为 .sh将此脚本文件的权限提升。(使用 chmod +x xxx.sh 命令)#!/usr/bin/expect -fset user rootset host 121.199.79.147set password xf2J99fOp1f7MJ5fset timeout 30spawn ssh -p 22 $user@$hostexpect "*assword:*"send "$password\r"interactexpect eof

2022-03-07 14:10:13 1304

原创 使用a标签下载跨域文件时,download属性失效

在使用a标签下载文件时,download属性可以更改下载的文件名,但是当a标签的下载链接跨域时,download属性将不会生效,原因是浏览器无法获取到文件,不能对他进行更改解决办法将文件使用get请求获取到,转为blob,然后获取到blob的url,创建一个新的a标签,赋值download属性,下载。//onclick 事件<a @click="downloadFile(fileUrl,fileName)">下载文件</a>downloadFile(url, fi

2022-02-28 19:45:19 6063 3

原创 webpack配置阻止静态资源被解析为base64

webpack配置阻止某些特殊的静态资源被解析为base64

2022-02-25 19:15:04 1357

原创 LESS颜色操作函数

Less颜色操作函数,如fadeIn lighten ...

2022-02-22 18:22:42 721

原创 NPM typescript react 发包

创建git仓库npm inittsconfignpm包构建npm publish.npmignore

2022-02-22 18:19:43 514

原创 为什么onload回调函数应该在给src赋值之前定义

为什么onload回调函数应该在给src赋值之前定义

2022-02-18 14:05:28 659

原创 为什么可以在函数中给名为undefined的变量赋值

示例代码:let undefined = 1;// error: Uncaught SyntaxError: Identifier 'undefined' has already been declared(function () { let undefined = 1; console.log(undefined);})();// 1解释:undefined并不是js的保留关键字! undefined是全局对象的一个属性。也就是说,它是全局作用域的一个..

2022-01-20 10:07:27 2377

原创 webpack打包报错:MiniCssExtractPlugin is not a constructor

使用create-react-app构建一个项目时,执行npm run build抛出一个错误“MiniCssExtractPlugin is not a constructor”。

2022-01-17 21:40:58 743

原创 使用nvm安装node,找不到npm的解决办法

使用nvm安装node,找不到npm的解决办法

2021-12-29 11:05:48 9593

原创 Windows Docker搭建本地Nestjs开发环境

安装Docker Desktop编写docker-compose.yml文件

2021-12-29 10:56:13 1533

原创 CSS 滚动快照 Scroll Snap

CSS 新特新:滚动捕捉

2021-12-21 09:49:03 648

原创 Vue-Router 动态更改当前页url query

Vue-Router 动态更改当前页url query

2021-12-17 09:34:22 6292

原创 自用 fetch封装

fetch封装

2021-12-14 15:43:40 1196

原创 使用vue-cli3 + ant-design-vue 搭建项目时的打包优化。

ant-design-vue icon按需加载vue-cli3配置vue-cli3 resolve is not definedvue-cli3 打包清除console

2021-12-10 16:17:28 2558 1

原创 Vue3 内置组件Teleport原理

Vue3 内置组件Teleport原理

2021-12-10 11:49:16 456

原创 CSS position: fixed 相对于父元素定位

使用fixed进行布局的元素,在一般情况下会相对于屏幕视窗来进行定位。但是如果父元素的transform,perspective或filter属性不为none时,position为fixed的元素就会相对于父元素来进行定位。​​​​​​​ 如果父级元素的层级比其兄弟节点低,就算fixed的层级比父级元素及其兄弟元素高,它也会被父级元素的兄弟元素遮挡住。

2021-12-10 11:20:44 12141 3

原创 JS indexOf polyfill解读

var O = Object(this);将调用对象转为Object类型。

2021-12-09 16:50:59 418

原创 JS 证明矩阵是否为 托普利兹矩阵 || 汉克尔矩阵

1.证明一个矩阵为托普利兹矩阵。 2.证明一个矩阵为汉克尔矩阵托普利兹矩阵,简称为T型矩阵,它是由Bryc、Dembo、Jiang于2006年提出的。托普利兹矩阵的主对角线上的元素相等,平行于主对角线的线上的元素也相等。汉克尔矩阵 (Hankel Matrix) 是指每一条副对角线上的元素都相等的矩阵,在数字信号处理、数值计算、系统控制等领域均有广泛的应用。

2021-12-02 09:44:32 646

原创 CSS 2D Matrix使用方法记录

仅用于记录使用方法。因为在多个变换同时作用时,需要几个矩阵相乘,所以矩阵都必须行列相等,为3*3。第三行一定是0 0 1示例:​.demo{ transform-origin: 0px 0px; transform: rotate(45deg) translate(100px, 0) scale(2);}​.demo{ transform-origin: 0px 0px; transform: matrix(1.41421, 1.41421,

2021-12-01 10:38:55 383

原创 javascript——m个月饼分给n个人

中秋节,公司分月饼,m个员工,买了n个月饼,m<=n,每个员工至少分1个月饼,但可以分多个,单人份到最多月饼的个数为Max1,单人分到第二多月饼的个数是Max2,Max1-Max2<=3,。同理,单人分到第n-1多月饼的个数是Max(n-1),单人分到第n多月饼的个数是Max(n),Max(n-1)-Max(n)<=3。请问有多少种分月饼的方法?输入描述:第一行输入m n,表示m个员工,n个月饼,m <= n

2021-11-30 10:58:19 1731

原创 Vue 利用slot封装一个自定义程度高的 Dropdown 组件

使用slot传出值方式来将封装在组件内部的方法和状态绑定到组件外自定义的按钮上

2021-11-26 14:50:26 1366

原创 React 将页面导出为pdf

React 使用html2canvas和jspdf将页面导出为pdf

2021-11-26 09:17:24 4114 9

原创 Vue2 他处点击监听器 指令

Vue 自定义指令 钩子函数一个指令定义对象可以提供如下几个钩子函数 (均为可选): bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。 inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。 update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新 (详细的钩子函数参数见下)。.

2021-11-25 20:41:39 188

原创 Promise的static方法汇总

Promise.resolvePromise.resolve()方法返回一个以给定值解析后的Promise对象。如果这个值是一个 promise,那么将返回这个 promise;如果这个值是thenable(即带有"then"方法),返回的promise会“跟随”这个thenable的对象,采用它的最终状态。const thenable = { then(onFullfilled, onRejected) { onFullfilled("thenable"); throw ne

2021-11-09 14:48:22 209

原创 学习javascript 事件流

主要针对 事件流,事件冒泡,事件捕获,事件代理,react事件代理详解。怎么使用网页事件?1.行内事件处理器——不推荐使用<button onclick="bgChange()">Press me</button><script>function bgChange(e) { const rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')'; doc

2021-10-26 16:17:26 156

原创 Koa2——洋葱模型,简单实现

class app { middleware = []; // 装载中间件 use(middleware) { this.middleware.push(middleware); } compose(callback) { // 把 要被触发的上一层洋葱壳 作为下一层洋葱壳的next入参传入。 // reducer 的返回值,也就是下一层的next为 () => fn(next)。 const.

2021-10-24 14:45:51 719

空空如也

空空如也

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

TA关注的人

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