自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue运行后network的IP地址访问不了

之前运行vue时network显示unavailableApp running at: - Local: http://localhost:8080/ - Network: unavailable经过查找解决了这个问题在vue.config.js添加以下代码module.exports = { configureWebpack: {}, devServer: { // 环境配置 host: '0.0.0.0', public: '172.20.3.3:8080'

2020-10-07 16:18:29 30273 11

原创 vscode css错误提示{ expected css(css-lcurlyexpected)

vscode css错误提示{ expected css(css-lcurlyexpected)在vue中使用了less语法之后总是报css错误只需要把vscode最下面改成vue就不会报错了,如图所示

2020-11-18 23:34:56 7378 3

原创 vscode的注释在vue组件中失效

vscode的注释在vue组件中失效今天在写vue组件时发现注释失效通过搜索解决了这个问题点击文件 => 首选项 => 设置,在搜索栏输入setting,打开setting.json,在里面添加如下代码"files.associations": { ​ "*.vue": "html" ​ }...

2020-11-18 22:35:04 2762

原创 Vue3对比Vue2,这些改变你知道吗?

Vue3对比Vue2,有哪些不同?首先vue3相比于vue2,监测机制发生了变化vue2的响应式是通过object.defineproperty实现的,JavaScript对象传入vue实例时,vue会遍历对象的所有property,并通过object.defineproperty把这些property转化为getter和setter,数据发生变化时,就会触发视图的更新;不过这种方式有点缺陷,就是不能监测到对象属性的添加和删除,因此需要用vue.set()来添加和删除。并且也不能监听数组的变化;而vu

2020-11-02 00:23:25 1772

原创 如何提高webpack的构建速度?

如何提高webpack的构建速度?多入口情况下,使用CommonsChunkPlugin来提取公共代码通过externals配置来提取常用库利用DllPlugin和DllReferencePlugin****预编译资源模块 通过DllPlugin来对那些我们引用但是绝对不会修改的npm包来进行预编译,再通过DllReferencePlugin将预编译的模块加载进来。使用Happypack 实现多线程加速编译使用webpack-uglify-paralle来提升uglifyPlugin的压缩速度。

2020-10-22 01:42:32 648

原创 Vue中watch 和 computed 和 methods 区别是什么?

Vue中watch 和 computed 和 methods 区别是什么?coumputed 是计算属性,methods是方法,watch是侦听属性computed 和 methods 相比,最大区别是 computed 有缓存:如果 computed 属性依赖的属性没有变化,计算属性会立即返回之前的计算结果,而不必再次执行函数。而methods里的函数在每次调用时都要执行。watch 和 computed 相比,computed 是计算出一个属性(废话),而 watch 则可能是做别的事情(如上报

2020-10-22 01:14:08 592

原创 看似简单的一道题你会吗?实现一个可以拖拽的div

看似简单的一道题你会吗?实现一个可以拖拽的div实现一个可以拖拽的div,看似简单,你可以试试看30分钟能不能写出代码并成功运行,话不多说,直接放出代码吧html<body><div id="xxx"></div></body>cssdiv{ border: 1px solid red; position: absolute; top: 0; left: 0; width: 100px; height: 100px;}

2020-10-18 01:02:36 966 1

原创 Webpack一些常见 loader 和 plugin,你用过哪些?

Webpack一些常见 loader 和 plugin,你用过哪些?loader:file-loader:把文件输出到一个文件夹中,在代码中通过相对URL引用输入的文件。url-loader:和file类似,但能在文件很小的情况下以base64方式把文件内容注入到代码中。image-loader:加载并压缩图片文件。babel-loader:把ES6转换为ES5。css-loader:加载CSS,支持模块化、压缩、文件导入等特性。style-loader:把CSS代码注入到JavaScrip

2020-10-18 00:04:27 1121

原创 面试问BFC是什么,如何简单的回答要点?

BFC是什么?首先直接翻译一下BFC,BFC全称 Block Formatting Contexts,中文意思为:块级格式化上下文。通俗一点来讲,可以把BFC理解为一个封闭的大盒子,盒子内部的元素无论怎么样,是跑,是跳、还是飞,都不影响到外部。然后随便说二三种会触发BFC特性的情况,比如:body根元素浮动元素:float除none以外的值绝对定位元素:position(absolute、fixed)display为inline-block、table-cells、flexoverflow

2020-10-16 02:15:14 2041 2

原创 怎么清除浮动?

怎么清除浮动?1、额外标签法,也称隔墙法额外标签法会在浮动元素末尾添加一个空的标签。注意:要求这个新的空标签必须是块级元素<div style="clear: both"></div>2、父级添加overflow属性可以给父级元素添加overflow属性,并将其值设置为hidden、auto或scroll属性.box{ overflow: hidden; }优点:代码简洁缺点:无法显示溢出的部分3、给父级添加after伪元素法:after方法是

2020-10-16 01:51:42 425

原创 手写一个简单的AJAX?

手写AJAX我们常用的 ajax 就是通过 XMLHttpRequest 对象实现的,这个对象有很多的属性和事件,在使用之前,我们需要先将它实例化var xhr = new XMLHttpRequest()xhr.readyState用来获取ajax状态码,共有5个xhr.readyState为0 请求未初始化,未调用 open()xhr.readyState为1 请求已建立,但还未发送请求(未调用 send)xhr.readyState为2 已发送请求(已调用 send)xhr.rea

2020-10-13 02:50:51 2246

原创 怎么理解原型链?

首先要搞清楚两个概念:原型对象prototype和对象原型__proto__1、假如有一个构造函数function Star(){} 和实例对象 var ldh = new Star()每一个构造函数都有一个prototype属性,我们称之为原型对象。2、对象都有一个属性__proto__,称之为对象原型,指向构造函数的prototype原型对象。3、对象原型(__proto __)和构造函数(prototype)里面都有一个属性constructor,它指向构造函数Star本身。构造函数、

2020-10-13 01:08:39 325

原创 js归并排序

归并排序1、比如有一个数组:[78,89,56,7,69,12,23,36]排序这个数组,我们先把数组从中间分成前后两部分,[18,89,56,7]与[69,12,23,36]2、对这两个数组继续进行这样的操作,逐步的划分,直到不能划分为止(即每个子数组只剩下一个元素)[18,89,56,7] =>划分为 [18,89] 与 [56,7][69,12,23,36] =>划分为 [69,12] 与 [23,36]代码function merge(left,right){ cons

2020-10-12 01:19:47 191

原创 如何实现水平垂直居中?

实现居中效果的方法:1、用absolute + 负marginfather{> position: relative;//父元素设置绝对定位> }> .son{> position: absolute;> width:100px; height:100px;> top: 50%;> left: 50%;>

2020-10-10 20:26:46 1988 1

原创 js选择排序

选择排序思路:找未排序的元素中最小的数,将最小数与起始位置互换,直到排序完成。确定外层循环次数index为每一次寻找最小值的起始位置直到数组长度内层循环每次都是由起始位置+1直到数组长度假设每一次的起始位置为最小数,碰到更小的用更小的和后面的数继续作比较保存最小数的索引内层循环结束后最小数与起始位置互换代码function selectSort(arr){ for(let i = 0;i<arr.length;i++){ let minIndex = i; for(let

2020-10-06 01:45:01 198

原创 常见算法:js插入排序

插入排序假设有一个数组[12,8,24,16,1]把这个数组看成5张牌1、开始先抓一张牌2、继续抓牌,抓到这张牌,和手里的牌依次比较(个人习惯从后面比)如果当前新牌A比手里的某张牌B大,则把A放到B的后面,如果小则继续向前面的牌比较:如果已经比较到第一张了,则把当前A插入到最前面即可代码function insert(arr){//1、准备一个新数组,用来储存抓到手里的牌,开始先抓一张牌进来 let handle = []; handle.push(arr[0]); //2、从第二项

2020-10-02 03:06:56 190

原创 常见算法:js冒泡排序

冒泡排序思想让数组中的当前项和后一项进行比较,如果当前项比后一项大,则两项交换位置(让大的靠后)即可。比如当前有一个数组[12,8,24,16,1]需要比较length-1轮(5个数,只需要把4个放到末尾即可)i = 0,第一轮开始比较12 > 8 交换位置 => [8,12,24,16,1]12 < 24 不交换位置 =>[8,12,24,16,1]24 > 16 交换位置 => [8,12,16,24,1]24 > 1 交换位置 =>

2020-10-01 01:39:00 237

原创 面试常见算法:快速排序

面试常见算法:快速排序思路:假设有一个数组:[12,8,15,16,1,24]1、先找到中间项,把他从原来的数组中移除(这里用Math.floor往下取就是15),获取这一项的结果 15让数组里面的每一项和中间项 15 继续比较,比15小的放到左边,比15小的放到右边,第一轮比较过后:左边数组:[12,8,1]右边数组:[16,24]2、每一边的数组继续不断重复此操作最终左边数组:[1,8,12]最终右边数组:[16,24]3、最后把左边数组、中间项、右边数组加起来:[1,8,12,15

2020-09-30 00:22:39 265

原创 meta viewport 是做什么用的,怎么写?

meta viewport 是做什么用的,怎么写?该meta标签的作用是让当前viewport的宽度等于设备的宽度‘一般写<meta name="viewport" content="width=device-width,initial-scale=1">meta viewport 的6个属性:width设置layout viewport的宽度,为一个正整数,或字符串"width-device"initial-scale设置页面的最大缩放值,为一个数字,可以带小数minimum-

2020-09-28 21:40:44 576

空空如也

空空如也

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

TA关注的人

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