自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 vant ui 上传前压缩图片(200K左右)

/ 0.92为默认压缩质量。// 创建Canvas对象(画布)// 指定图片的DataURL(图片的base64编码数据)// 文件类型, 例如['png', 'jpg', 'jpeg']// console.log("压缩执行");// .el-upload--picture-card 控制加号部分。// 将base64转换为file文件。// 符合大小的,直接上传。// 大小限制(MB)

2023-11-01 10:03:00 350 1

原创 vue-router两种模式

vue-router两种模式hash模式和history模式的区别 (默认是hash模式(带“#”的))1、hash模式​ URL中#后面的内容作为路径地址,会把路径记录到浏览器的访问历史记录中​ 监听hashchange事件​ 根据当前路由地址找到对应组件重新渲染2、history模式:(需要服务端配置支持)​ 通过history.pushState()方法改变地址栏,会把路径记录到浏览器的访问历史记录中,并不会跳转到指定的路径,浏览器不会向服务器发送请求​ 监听popst

2022-04-05 21:02:55 372

原创 webpack4--学习笔记

webpack4loader通过loader加载任何类型的资源文件资源加载器file-loader大文件(大于10kb)单独提取存放,提高加载速度npm i file-loaderyarn add file-loader{​ text:/.png$/​ use:‘file-loader’}url-loader需要用的话,首先需要先安装file-loader可以将文件转换成base64 ,小文件(小于10kb)使用,减少请求次数{​ text:/.png$/​ use:‘ur

2022-04-05 20:59:52 1003

原创 模块化开发与规范化标准

模块化开发与规范化标准为什么要有规范标准软件开发需要多人协同不同的开发者具有不同的编码习惯和喜好不同的喜好增加项目维护成本每个项目或者团队需要明确统一的标准哪里需要规范化标准代码、文档、甚至是提交日志开发过程中人为编写的成果物代码标准化规范最为重要实施规范化的方法编码前人为的标准约定通过工具实现Lint常见的规范化实现方式ESlint 工具使用定制ESlint校验规则ESlint 对TypeScript的支持ESlint 结合自动化工具或者Webpack基于ESlint

2022-04-05 20:58:45 959

原创 webpack 5--学习笔记

webpack 5–学习笔记部分配置文件const path = require('path')const CopyWebpackPlugin = require('copy-webpack-plugin')const { CleanWebpackPlugin } = require('clean-webpack-plugin') //npm i clean-webpack-plugin -Dconst { DefinePlugin } = require('webpack')const

2022-03-27 21:20:59 1473

原创 Promise 源码分析与实现

Promise 源码分析与实现(学习笔记)实现 Promise 代码的核心逻辑1.Promise 就是一个类,在执行这个类的时候需要传递一个执行器进去,这个执行器会立即执行Promise 中有三种状态,分别为 成功 fulfilled 失败 rejected 等待 pendingpending -> fulfilledpending -> rejectedresolve 和 reject 函数就是用来更改状态的resolve: fulfilledreject: rej

2022-03-23 16:46:06 334

原创 判断数组的几种方法

判断数组的几种方法判断数组的几种方法instanceof运算符这个运算符可以判断一个对象是否是在其原型链上原型构造函数中的属性。let arr = [];console.log(arr instanceof Array); //trueconstructor这个属性是返回对象相对应的构造函数。let arr = [];console.log(arr.constructor == Array); //true写一个函数方法(Object.prototype.toString)let

2022-03-23 16:42:06 399

原创 实现深拷贝的几种方法

实现深拷贝的几种方法浅拷贝和深拷贝的区别:浅拷贝 : 只是将数据中所有的数据引用下来,依旧指向同一个存放地址,拷贝之后的数据修改之后,也会影响到原数据的中的对象数据深拷贝: 将数据中所有的数据拷贝下来,对拷贝之后的数据进行修改不会影响到原数据1、使用递归的方式实现深拷贝:function deepClone(obj){ let objClone = Array.isArray(obj)?[]:{}; if(obj && typeof obj==="object"){

2022-03-23 16:40:04 18323

jQuery点击按钮右侧展开全屏遮罩并带课程筛选功能

jQuery点击按钮右侧展开全屏遮罩并带课程筛选功能 非常实用

2018-05-18

空空如也

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

TA关注的人

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