摘要: assets (资产;优点;有用的东西)与static区别 相同点 >assets文件夹和static文件夹在vue-cli生成的项目中,都是用来存放静态资源的。 不同点 > assets目录中的文件会被webpack处理解析为模块依赖,【只支持相对路径形式】。build的时候由Webpack解析为 阅读全文
posted @ 2020-03-12 23:00 午亭爱成长 阅读(659) 评论(0) 推荐(0) 编辑
摘要: webpack性能优化 优化可以从两个方面考虑,一个是优化开发体验,一个是优化输出质量。 优化开发体验 缩小文件搜索范围。涉及到webpack如何处理导入文件,不再赘述,不会的可以自行搜索。由于loader对文件转换操作很耗时,应该尽量减少loader处理的文件,可以使用include命中需要处理的 阅读全文
posted @ 2020-03-12 22:35 午亭爱成长 阅读(1365) 评论(0) 推荐(0) 编辑
摘要: webpack运行流程 分为初始化、编译、输出三个阶段. 初始化: 从配置文件和shell文件读取、合并参数; 加载plugin 实例化compiler 编译 从entry发出,针对每个module串行调用对应loader翻译文件内容 找到module依赖的module,递归进行编译处理 输出: 把 阅读全文
posted @ 2020-03-12 22:33 午亭爱成长 阅读(230) 评论(0) 推荐(0) 编辑
摘要: vnode的diff算法原理 虚拟dom是对真实dom的一种映射,新旧Vnode比较同层级的节点,然后根据两者的差异只更新有差异的部分,生成新的视图,而不是对树进行逐层搜素遍历,因此时间复杂度是O(n)。虚拟dom可以减少页面的回流和重绘,提升性能 阅读全文
posted @ 2020-03-12 22:31 午亭爱成长 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 1.css-loader 的作用是处理css中的 @import 和 url 这样的外部资源 2.style-loader 的作用是把样式插入到 DOM中,方法是在head中插入一个style标签,并把样式写入到这个标签的 innerHTML里 loader的原理 loader能把源文件翻译成新的结 阅读全文
posted @ 2020-03-12 22:25 午亭爱成长 阅读(3849) 评论(1) 推荐(0) 编辑
摘要: 1.beforeCreate 初始化界面前 2.created 初始化界面后,拿到data,props,methods、computed和watch 3.beforeMount 渲染dom前 4.mounted 渲染dom后,拿到$el 5.beforeUpdate 更新前 6.updated 更新 阅读全文
posted @ 2020-03-12 22:11 午亭爱成长 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 浏览器事件循环和node事件循环 浏览器事件循环: 同步任务在主线程执行,在主线程外还有个任务队列用于存放异步任务 主线程的同步任务执行完毕,异步任务入栈,进入主线程执行 上述的两个步骤循环,形成eventloop事件循环 浏览器的事件循环又跟宏任务和微任务有关,两者都属于异步任务。 js异步有一个 阅读全文
posted @ 2020-03-12 21:59 午亭爱成长 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 回流和重绘区别 回流:当渲染树中元素尺寸、结构或者某些属性发生变化时,浏览器重新渲染部分或全部页面的情况叫回流。下列元素改变引发回流: getBoundingClientRect() scrollTo() scrollIntoView()或者scrollIntoViewIfneeded client 阅读全文
posted @ 2020-03-12 21:48 午亭爱成长 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Less 原理 Less 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。 Less 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。先看一个 阅读全文
posted @ 2020-03-12 20:53 午亭爱成长 阅读(532) 评论(0) 推荐(0) 编辑
摘要: hash模式:在浏览器中符号“#”,#以及#后面的字符称之为hash,用window.location.hash读取;特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。hash 模式下,仅 hash 符号之前的内容会被包含在请求中 阅读全文
posted @ 2020-03-12 20:47 午亭爱成长 阅读(1406) 评论(0) 推荐(0) 编辑
摘要: 首先作为开发,当我们有需求的时候,我们需要和后端合作开发,但是后端只定义好了接口,和接口字段没有开发完,这个时候 我们前端开发要mock一下数据,不能直接用本地的json文件,我们应该用ajax或者别的请求来获得数据,因为浏览器本身的同源策略的影响,会有跨域的问题,以下是本地开发解决跨域问题的方法 阅读全文
posted @ 2020-03-12 16:01 午亭爱成长 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 跨域的几种方式 同源策略 同源策略中的源指的是URL,比如说,对于一个完整的URLhttp://www.jianshu.com:80/p/bc7b8d542dcd#sample?query=text 这里的同源指的是URL中prototype协议、host域名、port端口这三个部分相同。简单来说, 阅读全文
posted @ 2020-03-12 15:58 午亭爱成长 阅读(102) 评论(0) 推荐(0) 编辑
摘要: vue中scoped的作用: 实现组件的私有化, 当前style属性只属于当前模块. 但是当我们使用公共组件的时候会造成很多困难. scoped的实现原理: 在DOM结构中可以发现,vue通过在DOM结构以及css样式上加了唯一标记,达到样式私有化,不污染全局的作用, 可以看出,加上scoped后的 阅读全文
posted @ 2020-03-12 15:40 午亭爱成长 阅读(1161) 评论(0) 推荐(0) 编辑