09 2020 档案
摘要:1.谈一下你对MVVM原理的理解 传统的 MVC 指的是,用户操作会请求服务端路由,路由会调用对应的控制器来处理,控制器会获取数 据。将结果返回给前端,页面重新渲染。 MVVM :传统的前端会将数据手动渲染到页面上, MVVM 模式不需要用户收到操作 dom 元素,将数据绑 定到 viewModel
阅读全文
摘要:大家好,由于最近从事的是微信公众号和APP内嵌 H5开发,避免不了开发一些和native相同的操作功能,就如接下来说的 仿IOS滚轮选择器。github源码链接 https://github.com/zhangKunUserGit/vue-component大家可以下载运行 先来个截图: 先来屡一下
阅读全文
摘要:一、前言 - webpack热更新 Hot Module Replacement,简称HMR,无需完全刷新整个页面的同时,更新模块。HMR的好处,在日常开发工作中体会颇深:节省宝贵的开发时间、提升开发体验。 刷新我们一般分为两种: 一种是页面刷新,不保留页面状态,就是简单粗暴,直接window.lo
阅读全文
摘要:var arr2=[{id:1,name:'23'}] var arr1=[{id:1,car:'car2'}] const combined = arr2.reduce((acc, cur) => { const target = acc.find(e => e.id cur.id); conso
阅读全文
摘要:前言 Express和Koa是目前最主流的基于node的web开发框架,他们的开发者是同一班人马。貌似现在Koa更加流行,但是仍然有大量的项目在使用Express,所以我想通过这篇文章说说Express中间件的原理。 中间件的功能和分类 中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我
阅读全文
摘要:webpack是一个js打包工具,不一个完整的前端构建工具。它的流行得益于模块化和单页应用的流行。 webpack提供扩展机制,在庞大的社区支持下各种场景基本它都可找到解决方案。本文的目的是教会你用webpack解决实战中常见的问题。 webpack原理 在深入实战前先要知道webpack的运行原理
阅读全文
摘要:我们知道vue可以快速开发web单页应用,而且官方为我们提供了自己的应用脚手架vue-cli,我们只需要下载脚手架,安装依赖后就可以启动vue应用雏形。 这得益与webpack的依赖追踪,各种资源后缀的loader,以及相关webpack插件的强大功能。 然而有些时候,我们有多页面的开发需求,在这种
阅读全文
摘要:本文主要涉及三种跨域方法:JSONP、CORS、postMessage。 Q:为什么会出现跨域问题? A:出于浏览器的同源策略限制,浏览器会拒绝跨域请求。 *注:严格的说,浏览器并不是拒绝所有的跨域请求,实际上拒绝的是跨域的读操作。浏览器的同源限制策略是这样执行的: 通常浏览器允许进行跨域写操作(C
阅读全文
摘要:一、HTTP一共有八种常见请求方法 get:参数在url上,浏览器长度有限制,不安全 post:参数不可见,长度不受限制 put:上传最新内容到指定位置 delete:删除请求的url所表示的资源 head:不返回相应主体,主要用于客户端查看服务器性能 options:与head类似,是客户端用于查
阅读全文
摘要:类别原因短语 1XX Informational(信息性状态码) 接收的请求正在处理 2XX Success(成功状态码) 请求正在处理完毕 3XX Redirection(重定向状态码) 需要进行附加操作以完成请求 4XX Client Error(客户端错误状态码) 客户端错误,请求包含语法错误
阅读全文
摘要:前置知识:什么是rem CSS3新增的一个相对单位rem(root em,根em).rem是相对于根节点(或者是html节点).如果根节点设置了font-size:10px;那么font-size:1.2rem;字体大小等于12px。 前置知识:什么是dpr 在浏览器控制台中输入 window.de
阅读全文
摘要:基于 vue-cli3.0 的 lib-flexible 适配方案 第一步:下载安装相关依赖 第二步:创建 vue.config.js 文件并配置 第三步:在 main.js 中引入 lib-flexible 以上就是基于 lib-flexible 在 移动端H5 的适配处理方案。当然这不是唯一的方
阅读全文
摘要:在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配。秉着求知的思想,今天决定对他的原理进行分析。目前网上比较主流使用的就是淘宝方案和网易的解决方案,所以今天我就从这两方面入手深度了解这两个方案。 网易转换rem分析 首先网易的设计稿是
阅读全文
摘要:这篇文章讲讲浏览器的事件循环(nodejs中的事件循环稍有不同),事件循环是js的核心之一,因为js是单线程,所以异步事件实现就是依赖于事件循环机制,理解事件循环可让我们更清晰的处理js异步事件和应对各种异步事件的面试题。 事件循环 首先,我们来解释下事件循环是个什么东西: 我们所知,浏览器的js是
阅读全文
摘要:【Loader】: 用于对模块源码的转换,loader描述了webpack如何处理非javascript模块,并且在buld中引入这些依赖。loader可以将文件从不同的语言(如TypeScript)转换为JavaScript,或者将内联图像转换为data URL。比如说:CSS-Loader,St
阅读全文
摘要:1 知识体系 1.1 从URL输入到页面加载 首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的 IP 地址,然后与这个 IP 地址确定的那台服务器建立起 TCP 网络连接,随后我们向服务端抛出我们的 HTTP 请求,服务端处理完我们的请求之后,把目标数据放在 HTTP 响应里返回给客
阅读全文
摘要:前言 最近看到一道非常经典的面试题,感觉非常有趣: setTimeout(() => { console.log(1); }, 0); new Promise((resolve) => { console.log(2); resolve(); }).then(() => { console.log(
阅读全文
摘要:一、 输入URL,回车 敲击某个键时,键盘内的处理器会先对键矩阵进行分析,然后将数据发送到计算机 计算机接收到来自键盘的信号,由键盘控制器(一种集成电路)进行处理,发送给操作系统 操作系统会分析,这些数据是否为系统命令,若不是,则将数据传给应用程序。 应用程序会分析这些数据是否为命令,如果不是命令,
阅读全文
摘要:前端的打包工具从之前的browserify、grunt、gulp到现如今的rollup、webpack,涌现出了很多优秀的打包工具。 首先,这次项目用到的是vue的全家桶,在webpack的配置方面直接用的是vue-cli生成的默认配置,项目打包完成后发现生成的vendor.js文件体积特别大,其次
阅读全文