02 2022 档案

摘要:2-27 如何实现 webpack 持久化缓存?保证 hash 值的唯一性,即为每个打包后的资源生成一个独一无二的 hash 值,只要打包内容不一致,那么 hash 值就不一致。 保证 hash 值的稳定性,我们需要做到修改某个模块的时候,只有受影响的打包后文件 hash 值改变,与该模块无关的打包文件 hash 值不变。 hash 文件名是实现 阅读全文
posted @ 2022-02-28 00:44 林见夕 阅读(169) 评论(0) 推荐(0)
摘要:2-25 Import和CommonJs在webpack打包过程中有什么不同?es6模块调用commonjs模块 可以直接使用commonjs模块,commonjs模块将不会被webpack的模块系统编译而是原样输出,并且commonjs模块没有default属性 es6模块调用es6模块 被调用的es6模块不会添加{esModule:true},只有调用者才会添加{esMo 阅读全文
posted @ 2022-02-25 22:53 林见夕 阅读(282) 评论(0) 推荐(0)
摘要:2-24 js异步加载脚本script https://blog.csdn.net/huangpb123/article/details/84170557 js异步加载(defer、async、module)和预加载(preload、prefetch、subresource、prerender)前端文件 阅读全文
posted @ 2022-02-25 00:08 林见夕 阅读(90) 评论(0) 推荐(0)
摘要:2-24 webpack的构建流程是什么?》https://www.cnblogs.com/houxianzhou/p/14707566.html webpack的构建流程分为三个步骤 初始化流程:从配置文件和 Shell 语句中读取与合并参数,并初始化需要使用的插件和配置插件等执行环境所需要的参数 编译构建流程:从 Entry 发出,针对 阅读全文
posted @ 2022-02-24 23:54 林见夕 阅读(105) 评论(0) 推荐(0)
摘要:2-23 说一下事件循环机制(node 浏览器)node.js 事件循环机制 https://nodejs.org/zh-cn/docs/guides/event-loop-timers-and-nexttick/ node.js 是可以运行在服务端 js 程序,因为执行 js 代码的v8 引擎被植入到了node中。 node.js 的事件循环机 阅读全文
posted @ 2022-02-23 23:03 林见夕 阅读(148) 评论(0) 推荐(0)
摘要:2-22 浏览器缓存机制(2)对于开发很重要,协商缓存的内容能了解多少呢?缓存是一种非常重要的技术,可以想象下一个网站每次都要请求非常多的资源,如果每次刷新都需要,重新向服务器请求一遍数据,这样服务器的压力就非常大,而且这种反复的请求是无意义的 概念:协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程。 特点:一定会 阅读全文
posted @ 2022-02-22 21:32 林见夕 阅读(85) 评论(0) 推荐(0)
摘要:2-21 常见的plugin以及作用的总结(webpack部分)html-webpack-plugin:(打包html文件)自动生成一个index.html文件(可以指定模板)将打包的js文件,自动通过script标签插入到body中 webpack-dev-server: 开启一个开发服务器,帮助我监视文件变动,做到按需更新页面 webpack-merge: 阅读全文
posted @ 2022-02-21 21:40 林见夕 阅读(706) 评论(0) 推荐(0)
摘要:2-20 简单说下你理解的语义化,怎样来保证你写的符合语义化?HTML5语义化标签了解下?我理解的语义化 在我看来,语义化,等同是语言本身在与开发者进行沟通的言语,我们读一本书,他有章节,目录,有每一个段落,标点,都是在进行语义化的描述信息,所以html的语义化,在与根据不同意义的标签,构建通俗易懂的网页结构,这才是语义化 语义化的优势主要在于下面几点: 其他开发者便于阅读代码,通过不同 阅读全文
posted @ 2022-02-20 21:34 林见夕 阅读(145) 评论(0) 推荐(0)
摘要:2-19 谈谈你对重绘和回流的理解?浏览器渲染的理解 首先要理解,为什么会有回流和重绘的这个名词的出现,要知道,浏览器其实也是一个软件,浏览器在将html 字符串和css 字符串,解析为dom,样式的过程,被称为解析过程,最终会渲染为一棵DOM树和一棵style树,结合形成渲染树,之后浏览器,在将解析,已经解析好的元素位置大小,颜色信 阅读全文
posted @ 2022-02-19 21:25 林见夕 阅读(83) 评论(0) 推荐(0)
摘要:2-19 hammerjs 使用html <script src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.js"></script> <script src="/scripts/tap-gesture.js"></script> <body cl 阅读全文
posted @ 2022-02-19 11:50 林见夕 阅读(113) 评论(0) 推荐(0)
摘要:2-18 能不能说一说XSS攻击?百度百科解答:XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功 阅读全文
posted @ 2022-02-18 21:20 林见夕 阅读(58) 评论(0) 推荐(0)
摘要:2-17 介绍js全部数据类型,基本数据类型和引用数据类型的区别基本数据类型: string number boolean null undefined es6 → symbol es10 → Bigint 引用数据类型: object array 正则 date map set ... 区别: 数据在内存中的存储位置不同,基本数据类型存储在栈中, 引用数据类型 阅读全文
posted @ 2022-02-17 22:12 林见夕 阅读(61) 评论(0) 推荐(0)
摘要:2-16 浏览器缓存机制(1)对于开发很重要,强缓存的内容能了解多少呢?缓存是一种非常重要的技术,可以想象下一个网站每次都要请求非常多的资源,如果每次刷新都需要,重新向服务器请求一遍数据,这样服务器的压力就非常大,而且这种反复的请求是无意义的 强制缓存的特点是可以直接读取缓存,不需要访问服务器,从而减少http请求,其中又分为俩种类型,一种是内存缓存,一种磁盘缓存 强缓 阅读全文
posted @ 2022-02-16 21:25 林见夕 阅读(85) 评论(0) 推荐(0)
摘要:2-15 webpack中source map是什么?生产环境怎么用?source map指的是将编译、打包、压缩后的代码映射回源代码的过程 经过webpack打包压缩后的代码基本上已经不具备可读性,此时若是代码抛出错误,想要回溯他的调用栈是非常困难的,而有了source map,加上浏览器调试工具(dev tools),要做到这一点就会变得很容易,同时对于线上问题的 阅读全文
posted @ 2022-02-15 21:48 林见夕 阅读(707) 评论(0) 推荐(0)
摘要:2-14 vue中计算属性computer和普通属性method的区别是什么?计算属性computer本质上是一个被getter、setter定义的了的属性。 计算属性使用起来和一般属性一样,只是在访问它的时候会得到getter函数返回来的值,改变它的时候,会触发setter函数,新的值会作为setter函数的值传递。 计算属性仅仅体现为一个取值的行为——每次访问它的时候,g 阅读全文
posted @ 2022-02-14 21:41 林见夕 阅读(615) 评论(0) 推荐(0)
摘要:2-13 常见的loader以及作用的总结(webpack部分)常用的loader style-loader 将css添加到DOM的内联样式标签style里 css-loader 允许将css文件通过require的方式引入,并返回css代码 less-loader 处理less sass-loader 处理sass postcss-loader 用postcs 阅读全文
posted @ 2022-02-13 21:34 林见夕 阅读(155) 评论(0) 推荐(0)
摘要:2-12 在css中link和@import的区别是什么?区别1: link 引入css文件 可以在html 中 通过link 标签引入,@import 在style 标签中引入 区别2: 页面加载时,link标签引入的css会被并行加载, @import 引入的css 只有等页面全部下载完成以后才进行加载,所以可能会出现闪烁 区别3: link 的兼容性 阅读全文
posted @ 2022-02-12 23:12 林见夕 阅读(58) 评论(0) 推荐(0)
摘要:2-11 防抖节流原理、区别以及应用,请用js实现。防抖: 原理:触发事件后,逻辑延迟执行,如果在一定时间内再次触发,就清除上一次的定时,重新计时 区别:与节流的区别在与,如果一直持续不间断的触发事件,那么逻辑将永远都不会执行 应用:按钮的点击 function event() { console.log('事件触发') } function deb 阅读全文
posted @ 2022-02-11 22:40 林见夕 阅读(144) 评论(0) 推荐(0)
摘要:2-9:浏览器的本地存储(2)的WebStorage了解多少本地持久化存储,分别有4种方案: cookie 4kb 可以但不建议 localStorage 持久化存储,存储大小 5M 浏览器关闭,也不会消失,需要手动清除 sessionStorage 回话存储,存储大小 5M 浏览器关闭 会消失 indexDB 存储大小非常大,需要手动删除 阅读全文
posted @ 2022-02-09 21:13 林见夕 阅读(89) 评论(0) 推荐(0)
摘要:2-8浏览器的本地存储(1)的 cookie 了解多少?cookie 来源是由于 http 无状态的特性,导致服务端并不知道客户端访问者的身份是什么。所以社区研究出来一种 cookie 的技术,主要是用来维护状态,而非本地存储,cookie 的大小是 4kb ,它浏览器一起发生给服务器。 阅读全文
posted @ 2022-02-08 20:59 林见夕 阅读(78) 评论(0) 推荐(0)
摘要:2-7 Loader 和 Plugin 的区别是什么?(webpack 部分)1、loader 用于加载某些资源文件。因为 webpack 只能理解 JavaScript 和 JSON 文件,对于其他资源例如 css,图片,或者其他的语法集,比如 jsx, coffee,是没有办法加载的。 这就需要对应的 loader 将资源转化,加载进来。从字面意思也能看出,loader 阅读全文
posted @ 2022-02-07 10:10 林见夕 阅读(219) 评论(0) 推荐(0)
摘要:2-6: vue双向绑定的原理是什么?由于 2021 年 vue 已经升级了底层的所使用的API,所以要分版本讲原理 vue2 宏观上:vue2 的底层响应式主要依靠 Object.defineProperty , 做到对,单个数据源数据,存值和取值时,监听其状态的改变,依靠 发布者-订阅者模式,做到的。 vue3 宏观上:vue3 实 阅读全文
posted @ 2022-02-06 22:41 林见夕 阅读(136) 评论(0) 推荐(0)