自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 webpack打包速度优化思维导图

去年的时候公司一个项目体积过大,我是m1芯片的macpro,光启动就要1分钟,配置差点都电脑,启动就要3分钟,自然打包速度也会慢很多,我们是gitlab设置成了自动打包的,所以打包速度上需要优化一下,否则太慢了。之后是做了一个思维导图,测试了市面上对于webpack的优化速度,包括用内存去进行预缓存打包文件,然后二次打包的速度就变快以及改造成多页面入口进行特定程度的打包,还有多进程打包等等经过优化,打包速度大概可以提升30%

2024-02-18 15:26:37 601

原创 vue项目中node_modules体积变大及webpack-CompressionWebpackPlugin

针对CompressionWebpackPlugin插件可以自行百度,是一个gzip压缩的插件,目的是提高http访问速度,前端打包时开启,并且配置nginx即可。原因在于在vue.config.js中配置了CompressionWebpackPlugin,并且此插件默认开启cache缓存。在前端vue项目中,每启动一次项目,node_modules的体积就会变大,基本上半个月就可以达到100G左右。在vue.config.js中关闭此插件的cache就不会出现node_modules体积变大的问题。

2023-07-29 11:13:18 1287

原创 括号匹配问题的应用-从括号中取值-数据结构栈的应用

自从毕业后一直接触的业务代码,之后去考研了,又复习了一遍专业课408,感叹颇深,尤其是教材数据结构的第7章图论,以及计算机网络,都让我动容,数字的力量和它的玄妙铸就科技的发展,也理解了计算机科学家往往和数据家密不可分。我需要将AND和OR组成的表达式,转化为红色字体的逻辑表达式,并且需要考虑到AND和OR是可以相互嵌套的,之后便想到了数据结构中栈的应用,可以通过栈的应用来解决匹配括号的问题,并且输出组合成新的表达式。最近碰到了一个括号匹配的问题,需要将括号中的内容,转化成对应的逻辑表达式。

2023-06-22 22:14:55 251 2

原创 利用contenteditable实现textarea即支持tags标签也支持文本的实现方式

最近接到了一个新的需求,需要做一个textarea的文本框,即支持tags标签的输入,也要支持普通文本的输入

2023-06-19 17:39:41 1426 2

原创 npm包管理项目改为pnpm包管理以及碰到的问题

npm项目转为pnpm项目以及一些问题的解决方案

2023-04-13 17:13:22 2394

原创 【uniapp-H5配置打包文件抽离出config.js进行线上可修改接口】

uniapp-H5配置打包文件抽离出config.js进行线上可修改接口一、项目背景二、uniapp中h5的使用1.vuecli和uniapp的区别2.static中创建config.js3.template.h5.html一、项目背景开发的过程中,会有测试和正式两个环境,尤其是在线上调试的接口会出现多样性,比如我们在git中提交的代码会部署到线上服务器和测试服务器,但是打包的时候需要固定接口地址,通常解决这类问题的方法就是使用location拿到当前域名来做接口地址,或者是单独配置一个config.j

2022-03-29 09:30:51 3007 1

原创 js中await和async的理解以及使用场景---怎么在等待一个方法或者一个字段赋值后进行之后的操作呢

js中await和async的理解js的同步和异步二级目录三级目录js的同步和异步首先js不同于其他的语言,它是一个单线程的语言,所有的任务都会在主线程中进行执行,同步任务就是在主线程中按次序执行的任务,异步任务就是可以改变主线程中次序的任务,在js中有一个"任务队列"专门存放异步任务,当主线程的任务没了的时候再去访问"任务队列"中成功回调的方法,进行执行。二级目录三级目录...

2022-02-14 17:36:41 1415 1

原创 vue对excel表格的前端处理上传表格解析

vue对excel表格的前端处理上传表格解析需求代码anythingelse需求需求是在需要上传excel表格进行解析,然后获取其中的数据,刚开始想的是后端来处理数据,后来发现了xlsx这个插件,综合了一下前端实现了。代码HTML: <el-upload class="upload-demo" ref="upload" action="" :auto-upload="false" :file-list

2021-10-11 15:06:45 697 2

原创 C数据结构-求二叉树的高度

C数据结构-求二叉树的高度求高度的思想C语言代码求高度的思想用递归的思想去求二叉树的高度,什么是递归呢?有人说要理解递归就是要理解递归,这句话大家听着很懵比,是因为它的思想和我们正常人的思想不一样,它是调用它本身。求二叉树的高度其实可以比较左右子树的高度,取最高的高度+1=整根树的高度。C语言代码int getHeight(BiTree *p){ int l,r,max; if(*p!=NULL){ l=getHeight(&(*p)->lchild); r=getHeig

2021-09-24 15:10:17 921

原创 vue.js判断滚动条滚动到底部后(防抖节流)进行数据的分页请求

vue.js判断滚动条滚动到底部后(防抖节流)进行数据的分页请求整体思路监听代码防抖节流整体思路VUE2.0其实有很多的插件来,而且功能很强大,还提供很多的插槽来,之前跟着师父做的项目里直接用了vue-infinite-loading,功能也很强大,点击这里可以直接看我之前写的博客。vue-infinite-loading: 链接.今天主要介绍一下原生的JS怎么去做判断主要用3个属性,scrollTop,scrollHeight,clientHeightscrollTop:鼠标滚动Y轴的距离s

2021-09-22 11:09:34 2148 2

原创 vuecli配置proxy跨域

vuecli 配置 proxy跨域配置配置在vuecli3根目录下新建一个vue.config.jsmodule.exports = { devServer: { proxy:{ '/':{ target:'https://read.hyzj.lslive.club', changeOrigin:true, secure:false, // pathRewrite:{

2021-09-18 15:28:41 285

原创 Vue使用formdata向后台传递参数

Vue使用formdata向后台传递参数修改请求头headers直接new formdata修改请求头headers我们可以在传递接口的时候修改headers,{‘Content-Type’: ‘application/json’}直接new formdata我两个都用了,最后还是用的直接new formdata实例来传递 multSumbit() { this.$toast.loading({ duration: 0, message: '加载中

2021-09-18 15:23:14 1536 1

原创 vant-tabbar 点击后icon未变色,重复点击才变色

vant-tabbar 点击后icon未变色,重复点击才变色原因上代码原因我是在各个页面中引入的vant-tabbar,点击的时候虽然跳转了,但是双向绑定的v-model="activeName"的activeName并没有改变,所以只要改变activeName即可。上代码van-tabbar v-model="activeName"> <van-tabbar-item icon="home-o" replace to="/">首页</van-tabbar-item&

2021-09-18 15:12:49 3356 3

原创 C数据结构-二叉树的层次遍历

C数据结构-二叉树的层次遍历二叉树层次遍历介绍结构体的注解代码注解二叉树层次遍历介绍二叉树有很多的遍历方式,层次遍历就是按照一层层做左至右进行遍历,不得不说C语言指针要好好的掌握,对着书上的结构体代码我也是懵比了一个下午阿,多跑跑就熟悉了。最终的输出结果应该是1-2-3-4-5-6-7结构体的注解想来看不懂树的定义的人一定不止我一个!你看看这个代码,真的晦涩。typedef struct BiTNode{ TElemType data;//数据域 struct BiTNode

2021-09-02 16:25:25 343

原创 uniapp中实现form-data请求

uniapp中实现form-data请求uniapp的form-data请求uniapp的form-data请求只需要改变http的请求头即可data的话就是要传递给后端的数据{}

2021-08-31 16:17:23 1669

原创 C语言数据结构-递归

C语言数据结构-递归递归递归在数据结构—树中,对于树的遍历采用的是递归来遍历的。递归就好比套娃,在满足条件的情况下会一直调用本身,当然递归肯定有一个判断条件去进行退出,想起了玩过的剧本杀校规2中的套娃,一个一个的轮回。#include <stdio.h> int factorial(int n){ if(n==1){ return 1; }else{ return factorial(n-1) * n; //f(5)=f(4)*5=120

2021-08-30 16:27:00 287

原创 C数据结构-栈的基本操作实现-王道数据结构学习总结

栈的基本操作实现前言初始化判断栈空进栈出栈读栈顶元素主函数调用前言栈就是后进先出,可以比喻成手枪在射击的时候发出的子弹,最后压进弹夹的会被先打出来,实际应用在浏览器的后退等地方,下面的代码是栈的一些基本方法。初始化//初始化 void InitStack(SqStack &S){ S.top=-1;};判断栈空//判断栈是否为空 bool StackEmpty(SqStack &S){ printf("%d \n",S.top); if(S.top==-1){

2021-08-18 16:48:09 169

原创 C数据结构-单链表-王道数据结构学习总结

C数据结构-单链表-王道学习总结前言指针单链表创建一个单链表单链表头部插入元素单链表尾部插入元素单链表遍历前言最近要把学校里学的基础理论重新捡起来了,然后因为之前上数据结构的时候是用python上的,但是考试需要用C,所以这次用C来学习,因为之前没怎么学过C,不过本着语言一通都通的美好想法,我直接上手。顺序表还是一路通关的,单链表这里卡了一会儿,王道上的代码都是伪代码,实际用C语言跑还是会碰到一些问题。特别是C的指针需要深刻理解,对于后面的学习会有帮助。指针#include <stdio.h&

2021-08-17 17:02:18 550

原创 vue虚拟列表-vue-virtual-scroll-list

vue虚拟列表-vue-virtual-scroll-listvue虚拟列表-vue-virtual-scroll-listvue虚拟列表-vue-virtual-scroll-list使用场景安装使用使用场景因为公司做了类似于百度网盘的竞品,所以用户如果上传了很多的文件,就会造成页面DOM元素的过多,然后因为需要操作DOM元素,所以页面会变得很卡。所以用虚拟列表来解决。安装安装的话这个插件有2个版本的,一个是1版本,目前更新到2版本了,二版本功能更加的强大。这里使用了1版本,通俗易懂一点。n

2021-08-13 09:26:35 5240 3

原创 video.js实现鼠标移入播放及根据鼠标移动位置播放对应帧及进度条显示

这里写目录标题video.js安装及使用鼠标移入播放移出停止播放根据鼠标移动位置播放对应帧及进度条显示这段时间都是自主学习,有些无聊了,在我的强烈要求下我师父让我做一个类似于B站视频预览的效果,效果如下图,然后让我看video.js的文档来实现,现在做一个总结。video.js安装及使用npm install video.js//在main.js中引入import Video from 'video.js'import 'video.js/dist/video-js.css'Vue.pr

2021-06-23 00:01:29 4692 10

原创 vue-infinite-loading的使用方法

vue-infinite-loading在项目中有的时候会使用分页,有的时候会使用下拉加载数据,分页就用element ui的分页就可以了,下拉加载就可以用vue-infinite-loading。import InfiniteLoading from "vue-infinite-loading";components: { InfiniteLoading, fileUpload, discernItem, discernSubtitle }, <!-- 下拉加载开始 -->

2021-06-16 14:05:49 4320

原创 Vue中el-dialog弹窗的父子组件传值

Vue弹窗的父子组件传值父传子子传父父传子父传值就直接在引用的组件中通过props传递就可以了,这里传递手机号码和控制弹窗的dialogVisble。父组件代码引入组件及点击按钮传递visble子组件代码只要在props中接受就可以使用了效果图:这里是传递了控制弹窗的visble和手机号码,在关闭弹窗的时候子组件要把visble重新传递给父组件。子传父子传父用的是自定义点击事件父组件代码: <test-dialog :dialogVisble="Visble" @c

2021-06-16 13:25:44 12005

原创 Vue Promise封装接口get和post

Vue Promise封装接口因为实际开发的时候要和别人对接口,有时候不仅是和一个java对接口,要和很多人对,这个时候页面在请求数据的时候就比较烦了,如果不对接口做封装的话,后面切换的时候每个页面都要改地址,然后还有就是Promise,我看了我师父的代码,如下图是我的一些理解不知道对不对。Vue.prototype.$http = http;Vue.prototype.$post = function(url, data) { return new Promise((resolve, rej

2021-06-03 15:40:31 1089 2

原创 query和params的区别

query和params的区别queryparams这两个都是跳转url的时候传递参数。query可以用name和path来传递,但是params只能用name来传递,query是直接在url中,页面刷新后url传递的参数依旧在,params在刷新跳转页面的时候就没有了,下面实现一下具体的代码。这个是在router注册的代码点击传递input的内容query可以看到path和name都是可以的http://localhost:8080/#/loginsuccess?loginname=

2021-06-03 15:19:11 6858

原创 el-select下拉框自定义内容添加多选框以及图片等

el-select下拉框自定义内容添加多选框以及图片等。需求介绍在下拉框中添加多选的按钮以及头像等等。// An highlighted block<template> <div class="selectCheckbox"> <div @click="selectNone" class="select-header"> 识人 <div class="select-box" v-show="selectboxIsshow

2021-05-31 15:18:36 5704 3

webpack打包速度优化思维导图

webpack打包速度优化思维导图

2024-02-18

空空如也

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

TA关注的人

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