2025年前端面试准备vue篇
|
事件修饰符
|
.stop:防止冒泡,.prevent: 防止默认事件,.capture:使用事件捕获模式,.self 只在当前元素本身触发,.once:只出一次,.passlve: 默认行为将会立即触发
|
|
按键修饰符
|
.left,.right,.moddle,.enter,.tab,.delete,.esc,.space,.up,.down,.left,.right,.ctrl,.alt,.shift,.meta
|
|
表单修饰符
|
.lazy,.number,trim
|
|
编码阶段
|
尽量减少data 中的数据 ,data中的数据会增加 getter 和setter ,v-if 和v-for 不能连用
spa 页面尽量采用 keep-alive 缓存组件 ,key 保证唯一,使用懒加载路由异步组件,第三方模块按需导入,长列表滚动到可视区动态加载,图片懒加载。
|
|
打包阶段
|
压缩代码,Tree Shaking/Scope Holsting 使用cdn 加载第三方模块, 多线程打包 happypack
splitChunks 抽离公共文件,sourceMap 优化
|
|
用户体验
|
骨架屏 PWA
|
|
请求优化
|
将第三方的库放到CDN 上,能够大幅度减少生产环境中的项目体积,CDN 能够实时根据网络流量和各个节点的连接,负载均衡及到用户的距离。
|
|
缓存
|
将长时间不会改变的的第三方库或者静态资源设置为强缓存,将max-age 设置为一个非常长的时间,好的缓存策略有助于减轻服务器的压力。
|
|
gzip
|
开启gzip 压缩,通常开始前gzip 压缩能够有效的缩小传输资源的大小
|
|
http2
|
如果首屏加载的静态资源非常的多,浏览器对同域名的tcp 连接数量是有限的 chrome为6个
|
|
懒加载
|
当url 匹配到相应的路径的时候,通过import 动态加载页面组件,这样首屏的代码量会大幅度减少
|
|
预渲染
|
可以添加loading,或者骨架屏幕尽可能的减少白屏对用户的影响体验
|
|
合理使用第三方库
|
对于一些第三方ui 框架,类库,尽量使用按需加载,减少打包体积
|
|
提升代码使用率
|
利用代码分割,将脚本中无需立即调用的代码在代码构建是转变为异步加载的过程
|
|
封装
|
构建良好的项目架构,按照项目需求惊醒全局组件,插件,过滤器,指令,utils 等做一些公共封装
|
|
图片懒加载
|
使用图片懒加载可以优化同一时间减少http 请求开销
|
|
压缩图片
|
可以使用image-webpack-loader
|
2025年前端面试准备vue篇的更多相关文章
- 2019前端面试系列——Vue面试题
Vue 双向绑定原理 mvvm 双向绑定,采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty()来劫持各个属性的 setter.getter,在数 ...
- 【前端面试】Vue面试题总结(持续更新中)
Vue面试题总结(持续更新中) 题目参考链接 https://blog.csdn.net/weixin_45257157/article/details/106215158 由于已经有很多前辈深造VU ...
- 前端面试(原生js篇) - DOM
根据我的面试经历,一般小公司的面试环节,比较关心框架的熟练程度,以及独立开发组件的能力 但大厂通常有五轮以上的面试,而且对 js 基础语法很是看重 于是我总结了一些关于 js 基础的面试对话,有的当时 ...
- 前端面试:Vue.js常见的问题
摘自今日头条用户:代码开发 原文链接: https://www.toutiao.com/a6683120112255369732/?tt_from=mobile_qq&utm_campaign ...
- 前端面试之vue相关的面试题
hello,你们的小可爱,皮皮聪又来发表感想了. 首先简单概括下会遇到的问题: 1.vuex作用 ①vuex是一个状态管理的插件,可以解决不同组件之间的数据共享和数据持久化. ②vue中的多个组件之间 ...
- 前端面试(原生js篇) - 精确运算
一.面试题 问:开发的时候有用到过 Math 吗? 答:很多啊.比如生成 GUID 的时候,就会用到 Math.random() 来生成随机数. 问:别的呢?比如向下取整.向上取整? 答:向下取整是 ...
- 前端面试基础-html篇之H5新特性
h5的新特性(目前个人所了解)如下 语义化标签 表单新特性 视频(video)和音频(audio) canvas画布 svg绘图 地理定位 为鼠标提供的拖放API webworker (重点)Stor ...
- 前端面试基础-html篇之CSS3新特性
CSS3的新特性(个人总结)如下 过度(transiton) 动画(animation) 形状转换 transform:适用于2D或3D转换的元素 transform-origin:转换元素的位置(围 ...
- 2019前端面试系列——CSS面试题
盒模型 /* 红色区域的大小是多少?200 - 20*2 - 20*2 = 120 */ .box { width: 200px; height: 200px; padding: 20px; marg ...
- 2019前端面试系列——JS面试题
判断 js 类型的方式 1. typeof 可以判断出'string','number','boolean','undefined','symbol' 但判断 typeof(null) 时值为 'ob ...
随机推荐
- pycharm批量注释
pycharm批量注释不像是spyder可以鼠标右键选择,pycharm是要用快捷键的,选中要注释的代码,然后快捷键就可以了. 注释代码和取消注释代码的快捷键都一样ctrl + /
- TypeScript 高级教程 – 把 TypeScript 当强类型语言使用 (第一篇)
前言 原本是想照着 TypeScript 官网 handbook 写个教程的. 但提不起那个劲... 所以呢, 还是用我自己的方式写个复习和进阶笔记就好了呗. 以前写过的 TypeScript 笔记: ...
- JavaScript – ES Module
前言 关于 JavaScript Modular 的多种版本和历史看这篇. 参考: 阮一峰 – Module 的语法 阮一峰 – Module 的加载实现 Export 语法 逐个 export 在想 ...
- C++11新初始化方法 使用{}初始化变量
列表初始化 在C++11及以后的版本中,使用{}来初始化变量是一种新的初始化方法,称为列表初始化(List Initialization).这种初始化方法可以用来初始化内置类型.自定义类型以及聚合类型 ...
- ConcurrentLinkedQueue详解(图文并茂)
前言 ConcurrentLinkedQueue是基于链接节点的无界线程安全队列.此队列按照FIFO(先进先出)原则对元素进行排序.队列的头部是队列中存在时间最长的元素,而队列的尾部则是最近添加的元素 ...
- [TK] HH的项链 离线树状数组解法
实际上这题很难和树状数组联系起来,我感觉效率也不是很高,感觉不是正解 怎么使用树状数组 这道题我们很容易想到一点:同种物品在一个区间内只能出现一次,先不考虑别的问题,我们想出下面这种使用树状数组的思路 ...
- [OI] throw
throw 主要是用来抛出异常. throw 可以直接向主程序 throw 一个东西,可以是各种数据类型,显示在界面上就是抛出的数据类型. int main(){ throw 1; } termina ...
- CentOS 7.9安装ElasticSearch7.14.0、ElasticSearch-Head、Kibana、Node14.18.2
CentOS 7.9安装ElasticSearch7.14.0.ElasticSearch-Head.Kibana.Node14.18.2 1.安装文件 1. elasticsearch-7.14 ...
- js递归遍历树形结构数据,获取所有数组id集合
function getAllIds(tree, result) { //遍历树 获取id数组 for (const i in tree) { result.push(tree[i].id); // ...
- vue2 + webpack 分析报告 report == webpack-bundle-analyzer
packjson.js 配置 "build-report":"vue-cli-service build --report", 执行 : npm run bui ...