自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【实际开发中遇到的问题】npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` ins

这是组件库所使用的依赖库版本和本地安装版本不一样导致的。当安装依赖出现以下问题。在安装依赖的后面加上。

2023-03-13 15:39:04 186 1

原创 关于Axios的二次封装

在项目中对axios请求进行二次封装时,会使用到以下几个api1、创建一个新的axios2、添加请求拦截器3、添加相应拦截器。

2022-09-14 15:06:48 616

原创 vue事件总线EventBus(兄弟组件之间的传值)

EventBus又称为事件总线,相当于一个全局的仓库,任何组件都可以在这个仓库里面获取事件。

2022-09-13 16:17:33 2194

原创 关于yarn:无法加载文件的错误问题

以 管理员的身份运行。最后可以查一下 输入。重新回去运行yarn。

2022-08-22 17:19:24 425

原创 【前端性能优化】 --- 一次总结明白

一次Http请求通常包含很多工作,如记录日志、ip过滤、查询字符串、请求体解析、Cookie处理、权限验证、参数验证、异常处理等,但对于Web应用而言,并不希望接触到这么多细节性的处理,因此引入中间件来简化和隔离这些基础设施与业务逻辑之间的细节,让我们能够关注在业务的开发上,以达到提升开发效率的目的。页面的展示主体是文章展示,如果文章展示的请求靠后了,那么渲染文章出来的时间必然靠后,因为有可能因为请求阻塞等情况,影响请求响应情况,如果超过一次并发的情况的话,会更加的慢。与3.2的分包不同。...

2022-08-01 11:17:32 733

原创 【Node.js】--- 基础知识

加载自定义模块时,路径要以./或../开头,否则会作为内置模块或第三方模块加载。按确切的文件名加载补全.js扩展名加载补全.json扩展名加载补全.node扩展名加载报错。

2022-07-24 17:59:06 921

原创 Promise的理解与使用

2.使用 promise 封装 ajax 异步请求3.fs模块使用Promise4.异常穿透5.2、为什么要用Promise?Ⅰ-指定回调函数的方式更加灵活Ⅱ-支持链式调用, 可以解决回调地狱问题1、什么是回调地狱2、回调地狱的缺点?3、解决方案?4、终极解决方案?3、Promise中的常用 API 概述Ⅰ- Promise 构造函数: Promise (excutor) {}Ⅱ-Promise.prototype.then 方法: (onResolv

2022-07-12 17:32:22 1952 1

原创 Promise基础知识

由于JavaScript语言特性,所有程序都是单线程执行的。由于这个特性,JavaScript的一些浏览器事件、请求事件都是异步执行的,通过回调函数处理异步的结果。这是很常见的语法,但是在一些场景下,就会形成回调函数嵌套回调函数,有的情况甚至套用多层,形成了“回调地狱”,这样使得代码臃肿可读性差而且难以维护。为了解决这种问题,社区提出了一些解决方案,采用链式调用的方法,来解决异步回调,并在在ES6被统一成规范。可以说Promise 是异步编程的一种解决方案。作为新的规范,promise采用更加直观也更

2022-07-12 17:13:21 274

原创 【【每日一题,冲刺秋招(8)】—— Ajax】

Ajax并不算是一种新的技术,全称是asychronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果基本步骤:js框架(jQuery/EXTJS等)提供的

2022-07-11 10:48:50 116

原创 【Vue3+Ts】—— TypeScript打包构建

通常情况下,实际开发中我们都需要使用构建工具对代码进行打包;TS同样也可以结合构建工具一起使用,下边以webpack为例介绍一下如何结合构建工具使用TS;步骤如下:进入项目根目录,执行命令创建package.json文件命令如下:共安装7个包:根目录下创建webpack的配置文件:四、配置TS编译选项根目录下创建tsconfig.json,配置可以根据自己需要,具体配置可以参考【Vue3+Ts】—— TypeScript编译选项(tsconfig.json配置)修改package.json配

2022-07-10 12:17:47 1172

原创 【Vue3+Ts】—— TypeScript编译选项(tsconfig.json配置)

编译文件时,使用 -w 指令后,TS编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。示例:自动编译整个项目如果直接使用tsc指令,则可以自动将当前项目下的所有ts文件编译为js文件。但是能直接使用tsc命令的前提时,要先在项目根目录下创建一个ts的配置文件 tsconfig.jsontsconfig.json是一个JSON文件,添加配置文件后,只需只需 tsc 命令即可完成对整个项目的编译配置选项:示例:上述示例中,所有src目录和tests目录下的文件都会被编译示例:上述示例中

2022-07-10 12:10:28 3053

原创 【TypeScript】——TS 数据类型

编程开发中我们有一个共识:错误出现的越早越好,能在写代码的时候发现错误,就不要在代码编译时再发现(IDE的优势就是在代码编写过程中帮助我们发现错误。能在代码编译期间发现错误,就不要在代码运行期间再发现(类型检测就可以很好的帮助我们做到这一点)。能在开发阶段发现错误,就不要在测试期间发现错误,能在测试期间发现错误,就不要在上线后发现错误。 为了弥补JavaScript类型约束上的缺陷,增加类型约束,很多公司推出了自己的方案:2014年Facebook推出了flow来对JavaScript进行类型检查.....

2022-07-09 23:34:38 711 2

原创 一次弄懂this指向问题

在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是JavaScript中的this和常见的面向对象语言中的this不太一样:常见面向对象的编程语言中,比如Java、C++、Swift、Dart等等一系列语言中,this通常只会出现在中。也就是你需要有一个类,类中的方法(特别是实例方法)中,this代表的是当前调用对象。但是JavaScript中的this更加灵活,无论是它出现的位置还是它代表的含义。使用this有什么意义呢?下面的代码中,我们通过对象字面量创建出

2022-07-09 00:23:45 266

原创 【Vue3+Ts】—— Composition API综合练习

目录useCounteruseTitleuseScrollPosition前面我们已经学习了等等Composition API,那下面将通过一个Composition API的综合练习来巩固一下组合API的使用以及代码逻辑的封装(即Hook函数的封装)。其中该综合练习包含以下功能:计数器案例的实现。修改网页的标题。完成一个监听界面滚动位置。在使用Composition API之前,我们先看看用Options API是如何实现该功能...

2022-07-08 16:41:59 517

原创 【Vue3+Ts】—— composition API(三)计算属性

在前面我们讲解过计算属性computed:当我们的某些属性是依赖其他状态时,我们可以使用计算属性来处理如何使用computed呢?计算属性两种用法给computed传入函数,返回值就是计算属性的值给computed传入对象,get获取计算属性的值,set监听计算属性改变。这种写法适用于需要的情况 Watch侦听数据的变化在前面的Options API中,我们可以通过watch选项来侦听data或者props的数据变化,当数据变化时执行某一些操作。.........

2022-07-08 12:10:54 3302

原创 【计算机网络】—— 了解计网基础看这篇就够

计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。......

2022-07-08 08:14:39 437

原创 【Vue3+Ts】—— composition API(二)

如果想为在setup中定义的数据提供响应式的特性,那么我们可以使用reactive的函数: 那么这是什么原因呢?为什么就可以变成响应式的呢? reactive API对传入的类型是有限制的,它要求我们必须传入的是一个对象或者数组类型: 这个时候Vue3给我们提供了另外一个API:ref API 这里有两个注意事项: 模板中的解包是浅层的解包,如果我们的代码是下面的方式:如果我们将ref放到一个reactive的属性当中,那么在模板中使用时,它会自动解包: 我们通过reactive或者ref可以获取到一

2022-07-07 16:47:03 444

原创 【Vue3.0+Ts】—— composition API(一)

Composition API是Vue的下一个主要版本中最常用的讨论和特色语法。这是一种全新的逻辑重用和代码组织方法·当前,我们使用所谓的Options API构建组件。为了向Vue组件添加逻辑,我们填充(选项)属性,例如数据,方法,计算的等。这种方法的最大缺点是,这本身并不是有效的JavaScript代码。您需要确切了解模板中可以访问哪些属性,以及此关键字的行为。在后台,Vue编译器需要将此属性转换为工作代码。因此,我们无法从自动建议或类型检查中受益。Composition API的目的是通过将当前可用组

2022-07-07 15:58:39 907

原创 【Vue3+Ts】—— 组件化开发(一)组件通信

前面我们是将所有的逻辑放到一个App.vue中:在之前的案例中,我们只是创建了一个组件App;如果我们一个应用程序将所有的逻辑都放在一个组件中,那么这个组件就会变成非常的臃肿和难以维护;所以组件化的核心思想应该是对组件进行拆分,拆分成一个个小的组件;再将这些组件组合嵌套在一起,最终形成我们的应用程序;我们来分析一下下面代码的嵌套逻辑,在真实开发中,我们会有更多的内容和代码逻辑,对于扩展性和可维护性来说都是非常差的。所以,在真实的开发中,我们会对组件进行拆分,拆分成一个个功能的小组件。 我们可以按照如下的方式

2022-07-07 08:34:04 770

原创 【Vue3+Ts】—— webpack学习笔记(三)Plugin插件

Webpack的另一个核心是Plugin,官方有这样一段对Plugin的描述:上面表达的含义翻译过来就是:前面我们演示的过程中,每次修改了一些配置,重新打包时,都需要手动删除dist文件夹:我们可以借助于一个插件来帮助我们完成,这个插件就是 CleanWebpackPlugin;另外还有一个不太规范的地方:对HTML进行打包处理我们可以使用另外一个插件:HtmlWebpackPlugin;我们会发现,现在自动在dist文件夹中,生成了一个index.html的文件:该文件中也自动添加了我们打包的bund

2022-07-05 22:46:04 855

原创 【Vue3+Ts】—— webpack学习笔记(二)打包其他资源

为了演示我们项目中可以加载图片,我们需要在项目中使用图片,比较常见的使用图片的方式是两种: 这个时候,打包会报错要处理jpg、png等格式的图片,我们也需要有对应的loader:file-loader件夹中; 有时候我们处理后的文件名称按照一定的规则进行显示:这个时候我们可以使用PlaceHolders来完成,webpack给我们提供了大量的PlaceHolders来显示不同的内容:我们这里介绍几个最常用的placeholder:[ext]: 处理文件的扩展名;[name]:处理文件的名称;[hash

2022-07-05 22:33:45 547

原创 【力扣算法】—— 二分查找详解

二分法是非常重要的基础算法,其实主要就是对区间的定义没有理解清楚,在循环中没有始终坚持根据查找区间的定义来做边界处理。区间的定义就是不变量,那么在循环中坚持根据查找区间的定义来做边界处理,就是循环不变量规则。本篇根据两种常见的区间定义,给出了两种二分法的写法,每一个边界为什么这么处理,都根据区间的定义做了详细介绍。相信看完本篇应该对二分法有更深刻的理解了。给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标

2022-07-04 17:40:36 453

原创 【Vue3+Ts】—— webpack学习笔记(一)

事实上随着前端的快速发展,目前前端的开发已经变的越来越复杂了: 但是对于很多的前端开发者来说,并不需要思考这些问题,日常的开发中根本就没有面临这些问题:这是因为目前前端开发我们通常都会直接使用三大框架来开发:Vue、React、Angular;但是事实上,这三大框架的创建过程我们都是借助于脚手架(CLI)的;事实上Vue-CLI、create-react-app、Angular-CLI都是基于webpack来帮助我们支持模块化、less、TypeScript、打包优化等的;官方解释: webp..

2022-07-04 15:26:36 887

原创 【每日一题,冲刺秋招(7)】—— 可靠传输协议

TCP之所以能为运行于不同主机上的两个进程之间提供可靠传输服务,其中的一个关键功能是TCP的拥塞控制机制。目前实际采用的拥塞控制方法主要包括哪两种?TCP采用哪种控制方法? TCP被认为是可靠的传输协议,TCP通过哪些机制来保证可靠传输?解答:对于TCP和UDP协议来说,若实际使用时要求数据的实时性好,而对可靠性要求较低,...

2022-07-04 08:21:03 513

原创 【每日一题,冲刺秋招(6)】—— 手写几种常见的算法

基本排序算法:冒泡,选择,插入,希尔,归并,快排代码选择排序:代码:插入排序:代码:希尔排序:代码:归并排序:代码:快速排序:代码:

2022-07-01 10:00:14 299

原创 【每日一题,冲刺秋招(5)】—— 前端框架vue底层特性

问题一:vue-router实现路由懒加载的方式有哪些?解答:问题二: Vue 的渲染过程是什么样的?解答:问题三:Vue 中的 key 有什么用?解答:源码如下:问题四: computed 的实现原理是什么?解答:问题五:谈一谈 nextTick 的原理的理解。解答: 问题六:为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?解答:问题七:Vue 响应式原理是什么?解答:问题八:hash模式 和 history模式的区别是什么?解答:问题九

2022-06-27 12:18:02 325

原创 【计算机网络】 --- 知识点总结

标签进入、输入url回车进入1、由于该例没有设置 no-cache 和 no-store,所以默认先走强缓存路线。根据 cache-control (expires 优先级低)判断缓存是否过期,若没有过期则此时返回 200(from cache)2、若本地缓存已经过期再走协商缓存路线,根据之前的 last-modified 值去与服务器比对,若这个时间之后没有改过则去读取本地缓存,返回 304(not modified)。3、否则返回新的资源,状态码 200(ok),并更新返回响应的 last-modi

2022-06-26 09:53:56 632

原创 【每日一题,冲刺秋招(4)】—— 前端js考点之cookie、session和storage

请你描述一下 cookies,sessionStorage 和 localStorage 的区别?解答:题目二:场景需求题,实现一个页面操作不会整页刷新的网站,并且能在浏览器的前进,后退时正确响应。给出你的技术实现方案?解答:...

2022-06-25 15:21:18 329

原创 【每日一题,冲刺秋招(3)】——正则表达式

题目一:写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)解答:题目二:\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?解答:题目三:写一个函数isPhoneNum(str),判断用户输入的是不是手机号解答:题目四:正则表达式的运行分为哪几个阶段?解答:题目五:正则实例对象有哪些属性?解答:题目六:分别使用search、test、match、exec、replace

2022-06-25 09:05:47 464 1

原创 【JavaScript】——正则表达式

正则表达式是一种通用的工具,在 JavaScript、PHP、Java、Python、C++ 等几乎所有的编程语言中都能使用;但是,不同编程语言对正则表达式语法的支持不尽相同,有的编程语言支持所有的语法,有的仅支持一个子集。本节讲到的正则表达式语法适用于 JavaScript。正则表达式的语法体现在字符模式上。字符模式是一组特殊格式的字符串,它由一系列特殊字符和普通字符构成,其中每个特殊字符都包含一定的语义和功能。根据正则表达式语法规则,大部分字符仅能够描述自身,这些字符被称为普通字符,如所有的字母、数字等

2022-06-24 11:17:03 179 1

原创 【javaScript数据结构】--- 二叉搜索树

二叉搜索树(BST,Binary Search Tree),也称为二叉排序树和二叉查找树。二叉搜索树是一棵二叉树,可以为空。如果不为空,则满足以下性质:正在上传…重新上传取消如上图所示,树二和树三符合 3 个条件属于二叉树,树一不满足条件 3 所以不是二叉树。总结:二叉搜索树的特点主要是较小的值总是保存在左节点上,相对较大的值总是保存在右节点上。这种特点使得二叉搜索树的查询效率非常高,这也就是二叉搜索树中“搜索”的来源。若想在其中查找数据 10,只需要查找 4 次,查找效率非常高。同样是 15 个数据,在排

2022-06-24 08:58:09 768 2

原创 【每日一题,冲刺秋招(2)】——前端js之事件冒泡和捕获

1、事件捕获捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)输出2、事件冒泡冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。但是这两种方式是有区别的。return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身。题目一:事件

2022-06-22 09:51:49 166 2

原创 【每日一题 冲刺秋招(1)】——前端js语言考点之ES6

23届秋招的提前批很快开始,为了总结之前的知识,方便复习,现在每天总结一些题目巩固所学,也方便同学一起学习,内容覆盖三件套,框架和计网等

2022-06-21 22:57:11 155 1

原创 【VScode】 --- 代码片段

我们在前面练习Vue的过程中,有些代码片段是需要经常写的,我们再VSCode中我们可以生成一个代码片段,方便我们快速生成。

2022-06-13 11:45:28 2278 2

原创 【JavaScript数据结构】--- 单链表

链表和数组一样,可以用于存储一系列的元素,但是链表和数组的实现机制完全不同。

2022-06-12 16:47:27 428 1

原创 【JavaScript数据结构】 --- 双向链表

既可以从头遍历到尾,又可以从尾遍历到头。也就是说链表连接的过程是双向的,它的实现原理是:一个节点既有向前连接的引用,也有一个向后连接的引用。

2022-06-12 16:38:08 357 1

原创 【Vue3+Ts】--- coderwhy学习笔记(一)邂逅vue3和vue3源码

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。全称是Vue.js或者Vuejs;什么是渐进式框架呢?表示我们可以在项目中一点点来引入和使用Vue,而不一定需要全部使用Vue来开发整个项目;......

2022-06-12 15:03:30 471

原创 【HTTP】---网络协议

HTTP 协议一般指 HTTP(超文本传输协议)。超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是为 Web 浏览器与 Web 服务器......

2022-06-11 21:57:14 1025 2

原创 【TypeScript】---接口

TypeScript 接口 接口的作用,在面向对象的编辑中,接口是一种规范的定义,它定义了行为和规范,在程序设计里面,接口起到了一种限制和规范的作用,接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里面方法的实现细节,它只是规定这批类必须提供某些方法,提供这些方法的类就可以满足实际需求TypeScript 接口定义如下:interface interface_name { }实例以下实例中,我们定义了一个接口 IPerson,接着定义了一个变量

2022-06-01 15:00:30 7958 2

原创 【TypeScript】---面向对象

给对象给对象,操作对象,首先便要拥有对象;要创建对象,必须先定义类,然后的类可以理解为对象的模型;程序中可以根据类创建指定类型的对象;比喻说:可以通过Person类来创建人的对象,通过Dog类创建的对象,不同的类可以使用创建的对象;定义类class 类名 { 属性名: 类型; constructor(参数: 类型){ this.属性名 = 参数; } 方法名(){ .... }}

2022-05-30 18:50:08 1277

空空如也

空空如也

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

TA关注的人

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