- 博客(44)
- 收藏
- 关注
原创 使用TS装饰器从0封装一个socket.io服务器
使用TS,从0开始封装一个socket.io服务器,模仿nestjs的WebSocket装饰器。
2023-06-08 11:40:44
1233
原创 webpack构建时堆内存溢出解决办法
今天使用yarn构建umi项目时,遇到了Javascript heap out of memory的问题,表明是构建过程中堆内存溢出。
2022-08-17 12:29:22
2324
转载 同步和异步,阻塞和非阻塞的概念
同步和异步概念与消息的通知机制有关:对于消息处理者而言,在同步的情况下,由处理消息者自己去等待消息是否被触发;在异步的情况下,由触发机制来通知处理消息者,然后进行消息的处理。同步和异步仅仅是关于所关注的消息如何通知的机制,而不是处理消息的机制。阻塞和非阻塞与消息的处理机制有关:阻塞模式是指在指定套接字上调用函数执行操作时,在没有完成操作之前,函数不会立即返回。非阻塞模式是指在指定套接字上调用函数执行操作时,无论操作是否完成,函数都会立即返回。同步与阻塞,异步与非阻塞并不是两对相同的概念,要注
2022-05-19 10:25:23
208
原创 React 将多个ref同时赋给一个element
有一个组件中有两个ref,一个f是orwardRef暴露出的ref,另一个是内部维护的ref如何将这个两个ref都赋到 一个element上?
2022-05-17 18:31:19
1642
原创 写了一个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
原创 NPM typescript react 发包
创建git仓库npm inittsconfignpm包构建npm publish.npmignore
2022-02-22 18:19:43
514
原创 为什么可以在函数中给名为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
原创 使用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
原创 CSS position: fixed 相对于父元素定位
使用fixed进行布局的元素,在一般情况下会相对于屏幕视窗来进行定位。但是如果父元素的transform,perspective或filter属性不为none时,position为fixed的元素就会相对于父元素来进行定位。 如果父级元素的层级比其兄弟节点低,就算fixed的层级比父级元素及其兄弟元素高,它也会被父级元素的兄弟元素遮挡住。
2021-12-10 11:20:44
12141
3
原创 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
原创 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关注的人