自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vite和webpack

Vite 是新型前端构建工具。webpack 是一个模块打包器。webpack 的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transform)、打包(bundle)。

2023-10-10 17:32:34 446

原创 【Vue2源码】响应式原理

Vue.js 基本上遵循 MVVM(Model–View–ViewModel)架构模式,数据模型仅仅是普通的 JavaScript 对象。而当你修改它们时,视图会进行更新。本文讲解一下 Vue 响应式系统的底层细节。Vue响应式。

2023-04-20 19:39:36 514 1

原创 【Typescript】tsconfig 常用配置项(常用or总结)

文件中指定了用来编译这个项目的根文件和编译选项。文件可以是个空文件,那么所有默认的文件都会以默认配置选项编译

2023-03-12 16:04:23 612

原创 【Vue】vue中的mixin混入

混入(mixin)提供了一种非常灵活的方式,来分发 Vue组件中的可复用功能。一个混入对象可以包含任意组件选项(如data、methods、mounted等等)。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。mixin: 将多个组件相同的逻辑,抽离出来复用;使用mixin混入data: 组件 data 优先级高于 mixin混入的 data;使用mixin混入钩子: 先执行 mixin的钩子,再执行组件里的钩子;

2023-03-06 17:32:41 1069

原创 【uniapp】记录地址管理页面

uniapp页面记录

2023-01-12 11:21:55 1130 1

原创 【websocket】前端websocket 实时通信

websocket是HTML5开始提供的一种网络通信协议,它诞生的目的是在浏览器之间建立一个不受限的双方通信的通道,比如说,服务器可以在任意时刻发送信息给浏览器。在websocket的API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

2023-01-09 15:38:58 1504

原创 【Node】中Express框架连接Mysql实现用户注册接口

拆分模块能够使部分功能能够复用,封装好各个模块使得模块间只能通过有限的接口互相访问,从而降低耦合,拆分模块使得前期提升开发效率,后期维护更加方便目录安装的包为express,mysql2,nodemonapp.jsrouter中的app.jsrouter中的index.jsrouter中的user,jscontrollermiddlewareapp中的config.jsapp中的database.js

2023-01-07 21:02:58 751

原创 微信小程序,uniapp触底加载、自动请求接口合并数据

uniapp官网onReachBottom的解释是页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据。在子组件外部,加上scroll-view 组件,并允许纵向滚动 使用竖向滚动时,需要给一个固定高度,通过 css设置高度。要写在和data,method平级,和生命周期差不多。在methods方法中,触底加载的业务逻辑。

2022-12-28 21:04:43 1816 1

原创 【uniapp】uniapp中刷新本页面

记录刷新当前页面方法

2022-11-24 20:12:39 57857 6

原创 解决 “TypeError: Cannot read properties of undefined (reading ‘xxx‘)“

解决空值问题

2022-11-23 21:17:53 18335

原创 【Vue】vue3.2配合vue-router4代码

vue3.2配合vue-router4代码

2022-10-09 09:44:56 670

原创 【Promise】promise关键问题和解决办法

promise.then()返回新promise的结果状态由then()指定的回调函数执行的结果决定。promise指定多个成功/失败的回调函数,当promise改变为对应状态的时候调用。promise.then()返回一个新的promise,可以开成then()链式调用。不管先改变状态还是后改变状态,一定是通过res/rej来触发then的回调。在使用promise的链式调用时,在中间中断,不再调用后面的回调函数。在使用promise的then链式调用时,可以在最后指定失败的回调。

2022-09-05 12:11:15 276

原创 【Vue】vue中父子组件主动传值

子组件Header.vue主动获取父组件的数据与方法。父组件Home.vue调用子组件。调用子组件的时候定义一个ref。子组件Header.vue。子组件主动获取父组件的数据。子组件主动获取父组件的方法。父组件主动获取子组件数据。父组件主动执行子组件方法。父组件Home.vue。...

2022-08-30 17:37:58 188 1

原创 【Typescript】ts中的装饰器

装饰器是一个方法,可以注入到类,方法,属性参数上来扩展类,属性,方法,参数的功能常见装饰器:类装饰器,属性装饰器,方法装饰器,参数装饰器。装饰器的写法:普通装饰器(无法传参),装饰器工厂(可传参)...

2022-08-26 12:08:12 350

原创 【Typescript】ts中的命名空间和命名空间块化

在代码量较大的情况下,为了避免各种变量命名相冲突,可以将相似功能的函数、类、接口等放置到命名空间内。(即在文件内想使用文件的命名空间):ts的外部模块简称,侧重于代码的复用,一个模块里面可能有多个命名空间。并且要在文件内部的命名空间处。就要在文件内引入。:内部模块,主要用于组织代码,避免命名冲突。

2022-08-24 16:39:10 654

原创 【Typescript】ts中的静态属性和静态方法

在ts中使用静态属性和方法,需要有static关键字,且在静态方法里只能用静态属性。

2022-08-23 17:24:39 2620

原创 【Typescript】ts中泛型的使用方法和泛型约束

泛型是一种特殊的变量,只用于表示类型而不是值,称之为:类型变量。当我们定义一个变量不确定类型的时候有两种解决方式:1、使用any使用any定义时存在的问题:虽然可以知道传入值的类型但是无法获取函数返回值的类型;使用过多的any失去了ts类型保护的优势,就变成众人口中的anyscript2、使用泛型 泛型指的是在定义函数/接口/类型时,不预先指定具体的类型,具体什么类型是调用这个方法的时候决定的泛型的定义:可以支持不特定的数据类型 要求传入和返回的参数一致通俗理解:泛型就是解决类,接口,方法的。

2022-08-23 16:07:34 2593

原创 【Typescript】ts接口中同名成员兼容问题及解决方法

主要分为以下两种情况:示例如下:Circle接口同时继承了Style接口和Shape接口。Circle接口与父接口之间存在同名的属性name和color。Circle接口中name属性的类型为字符串字面量类型’circle’,它能够赋值给Shape接口中string类型的name属性,因此是正确的。而Circle接口中color属性的类型为number,它不能够赋值给Color接口中string类型的color属性,因此产生编译错误。示例如下:Circle接口同时继承了Color接口和Shape接口。C

2022-08-23 10:48:05 1193

原创 【Typescript】ts接口详解

在面向对象的编程中,接口是一种规范的定义,定义了行为和规范,起到了限制和规范性的作用。接口定义了某一类所需要遵循的规范,接口不关心类的内部数据和实现细节,它只规定这批类中必须提供某些方法,提供这些方法的类中就可以满足实际需要(即定义标准)ts中定义接口 interface可选属性函数类型接口函数类型接口:对方法传入的参数以及返回值进行约束 还可以进行批量约束加密的函数类型接口可索引接口数组、对象的约束 (不常用)类类型接口:对类的约束,和抽象类抽象方法有点像理解:即父定义一个标准,它的子类继承

2022-08-23 10:22:26 549

原创 【Typescript】ts中的抽象类、抽象方法和多态

(即Animal类利用abstract关键字定义为抽象类和抽象方法,但是抽象方法要在其继承Animal类的Dog类中去实现)是提供其他类继承的基类,不能被实例化。

2022-08-22 18:22:50 814

原创 【JS】Object和Map的区别(图文详解)

Object:只能手动计算,通过Object.keys()方法或者通过for...in循环统计 Map:直接通过size属性访问 5.键值对的访问 Object:添加或者修改属性,通过点或者中括号的形式 Map: 添加和修改Key-value中

2022-08-19 16:38:20 1795

原创 【JS】同步和异步(图文详解)

所谓异步:就是主程序接着走。延迟和等待程序挂到另一个列表等待执行,不阻塞js中大部分是同步,少数的异步如下:定时器settimeout和setInterval,ajax异步请求,promise…异步的好处是不会因为延时和等待阻塞程序例子console . log('我做第一件事');console . log('我做第二件事');console . log('我做第三件事');} , 1000) console . log('我做第四件事');...

2022-08-18 18:26:19 240

原创 【JS】forEach 和 Map 的区别和用法

【简单认识】foreach和map,foreach怎么用,map怎么用,foreach和map的区别

2022-08-18 18:07:04 151

原创 【Node】Express中使用Session和JWT

为保证 JWT 字符串的安全性,防止其在网络传输过程中被破解,需定义用于加密和解密的 secret 密钥生成 JWT 字符串时,使用密钥加密信息,得到加密好的 JWT 字符串把 JWT 字符串解析还原成 JSON 对象时,使用密钥解密const jwt = require('jsonwebtoken') const expressJWT = require('express-jwt') // 密钥为任意字符串 const secretKey = 'Bruce'...

2022-08-16 16:12:08 162

原创 【Node】Node连接和操作Mysql

使用 delete 语句会真正删除数据,保险起见,使用标记删除的形式,模拟删除的动作。向表中新增数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式。即在表中设置状态字段,标记当前的数据是否被删除。...

2022-08-15 21:12:22 194

原创 【Express】Express快速入门(详细图文)

本文详细讲解了开发框架Express的使用,包括express的安装、静态托管文件、路由处理以及中间件等使用方法。

2022-08-14 16:49:43 306

原创 【微信小程序】实现微信小程序登录(附源码)

通过点击登录按钮,调用微信接口wx.getUserProfile拿到微信的个人信息,先检查是否之前已经登录,若没登录则将拿到的个人信息调用后台的接口,把个人信息传给后台,登录成功之后把相关信息存储在app.globalData中共享给全局使用 (这里使用微信云开发作为后台,提前建一个login_users数据表)......

2022-08-11 09:52:04 15259 2

原创 【React】路由懒加载 React.lazy()

**路由懒加载**就是加载首页时不加载其他组件,当你点击对应的模块,才按需去加载路由对应的资源, 可以**提高加载速度,加快首页渲染** (一个页面加载过后再次访问不会重复加载)

2022-08-06 22:21:50 1881

原创 【React】redux中引入createStore有删除线

解决方法*2

2022-08-04 12:04:51 4516

原创 【React】路由组件传递参数(params,search,state)

但是在接收参数时获取到的是urlencoded编码字符串,需要借助querystring解析,但是querystring已被弃用,解决方法请参考文章。state刷新时也可以保留参数。2、注册路由(声明接受)2、注册路由但不需要声明。2、注册路由但不需要声明。1、路由链接携带参数。1、路由链接携带参数。...

2022-08-02 17:46:38 416

原创 querystring弃用问题【已解决】

npm i querystringify

2022-08-02 10:49:12 1281

原创 React路由中Switch的使用【提高效率】

为了解决route的唯一渲染,它是为了保证路由只渲染一个路径。如果没有Switch组件,当一个path匹配到多个component时,会渲染出多个组件。一个路径在匹配到了对应的component之后,还会接着向下匹配,会大大的影响效率。......

2022-07-26 15:56:49 868 2

原创 JavaScript 防抖和节流【防止重复调用,降低性能】

防抖实现原理就是利用定时器,函数第一次执行时设定一个定时器,并且通过闭包缓存起来,之后调用时发现已经设定过定时器就清空之前的定时器,并重新设定一个新的定时器,如果存在没有被清空的定时器,当定时器计时结束后触发函数执行。就是通过一个布尔类型变量来判断是否可执行回调,当变量为true时,生成一个定时器,同时将变量取反通过闭包保存起来,当定时器执行完回调后,再将变量变为true,在变量为期false间,调用节流函数不会生成定时器。任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行。...

2022-07-24 16:27:34 721 1

原创 Using target=“_blank“ without rel=“noreferrer“ (which implies rel=“noopener“) 【前端安全】

rel="noopener noreferrer"

2022-07-24 09:27:50 711

原创 React脚手架配置代理(解决跨域)

出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)如果不解决掉跨域问题,就会出现非同源限制。...

2022-07-23 19:33:38 277

原创 【npm】7 packages are looking for funding run `npm fund` for details

npm install --no-fund

2022-07-20 22:06:33 7145

原创 npm降级命令

npm install [email protected] -g

2022-07-20 21:48:50 505

原创 Less语法介绍以及和CSS的区别(整理版)

Less是一门CSS预处理语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展Less和CSS非常像,因此很容易学习。而且Less仅对CSS语言增加了少许方便的扩展Less文件需要经过Less预处理器编译成为CSS。...

2022-07-19 11:31:30 4761

原创 【ES6】三种暴露方法和引入方式

注意以上两种向外暴露方式在主文件引入时必须使用对象的解构赋值引用,不能使用变量接收的方式来映入。一个js文件中只能有一个默认暴露,默认暴露的可以是一个常量,函数,对象等。向外暴露方式在主文件引入时必须使用对象的解构赋值引用。也叫多行暴露,在引入时需要用对象来引用。(即上两方式和默认暴露的区别)对于默认暴露,直接引入即可。...

2022-07-18 19:22:02 8244 1

原创 var、let、const三者的区别和用法(详解)

var声明的变量属于函数作用域,let和const声明的变量属于块级作用域;var存在变量提升现象,而let和const没有此类现象;var变量可以重复声明,而在同一个块级作用域,let变量不能重新声明,const变量不能修改。...

2022-07-18 10:36:47 2646

空空如也

空空如也

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

TA关注的人

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