前端面试--moka

nextTick:

异步渲染,DOM异步渲染完毕后执行。

批量渲染。

vite为什么比webpack快?

webpack把所有文件build一次,从入口文件进去,将所有文件编译为一个或多个单独的js文件,无论模块是否执行,都要编译和打包到这个bundler里面。

vite不需要打包,不需要编译,对模块内容进行编译,浏览器支持ESmodule,对相应module发送请求。按需动态编译。

当其中一个模块改变后,vite只需要浏览器重新请求该模块。

webpack需要编译整个模块。

http缓存策略:

设置过期时间:

expires 设置过期时间,决定是否过期。

cache-control:

过期时长 max-age

no-cache 不允许缓存

no-store 不允许缓存

强缓存:没有过期就是用缓存

协商缓存:服务器向浏览器发送一个last-modified: 最后修改时间, 浏览器通过 If-Modified-Since字段中的值和服务器中的last-modified进行对比,若相等就用缓存,不相等则服务器返回新资源和最后修改时间。

服务器缓存:(协商缓存)

200 服务器资源和本地缓存资源版本不是一致,将最新资源和新的资源标识返回给浏览器

304 服务器资源和本地缓存资源版本是一致,所以在本地缓存中拿资源

注意:

ETag: 文件内容唯一标识,客户端收到的上次服务器通知的缓存数据的唯一标识。

服务器向浏览器发送一个ETag唯一标识,浏览器通过If-None-Match 字段通知服务器,将内容进行对比,若相同则直接利用缓存,再者服务器重新发送资源。

http2:

多路复用:允许多个请求和响应在单个TCP连接上并行传输。 --提高性能

头部压缩: 压缩请求和响应的头部,减少数据传输的IO开销。

流控制:客户端和服务端可以限制传输的速率,解决对头阻塞问题

二进制协议

scoped:

样式隔离,让每个style私有化。

给组件中所有元素添加一个唯一标识,data-v-xxx

给标签添加自定义属性,通过属性选择器添加样式

相关推荐
蚂蚁集团数据体验技术8 分钟前
一个可以补充 Mermaid 的可视化组件库 Infographic
前端·javascript·llm
LQW_home17 分钟前
前端展示 接受springboot Flux数据demo
前端·css·css3
q***d17323 分钟前
前端增强现实案例
前端·ar
IT_陈寒24 分钟前
Vite 3.0 重磅升级:5个你必须掌握的优化技巧和实战应用
前端·人工智能·后端
JarvanMo29 分钟前
Flutter 3.38 + Firebase:2025 年开发者必看的新变化
前端
Lethehong38 分钟前
简历优化大师:基于React与AI技术的智能简历优化系统开发实践
前端·人工智能·react.js·kimi k2·蓝耘元生代·蓝耘maas
华仔啊1 小时前
还在用 WebSocket 做实时通信?SSE 可能更简单
前端·javascript
鹏北海1 小时前
多标签页登录状态同步:一个简单而有效的解决方案
前端·面试·架构
_AaronWong1 小时前
基于 Vue 3 的屏幕音频捕获实现:从原理到实践
前端·vue.js·音视频开发
孟祥_成都1 小时前
深入 Nestjs 底层概念(1):依赖注入和面向切面编程 AOP
前端·node.js·nestjs