vue面试题|[2025-2-1]

1.封装一个可复用的组件,需要满足什么条件?

1.低耦合,组件之间的依赖越小越好

2.最好从父级传入信息,不要在公共组件中请求数据

3.传入的数据要进行校验

4.处理事件的方法写在父组件中

2.vue的过滤器怎么使用?

vue的特性,用来对文本进行格式化处理

使用它的两个地方,一个是插值表达式,一个是v-bind

分类:

1.全局过滤器

javascript 复制代码
Vue.filter('add',function(v){
    return v < 10 ? '0'+v : v
})

<div>{
   
   {33 | add}}</div>

2.本地过滤器

和methods同级

javascript 复制代码
filter:{
    add:function(v){
        return v<10 ? '0'+v : v
    }
}

3.vue中如何做强制刷新?

1.localtion.reload()

2.this.$router.go(0)

3.provide和inject

4.vue3和vue2有哪些区别?

1.双向数据绑定的原理不同

2.是否支持碎片

3.API不同

4.定义数据变量方法不同

5.生命周期的不同

6.传值不同

7.指令和插槽不同

8.main.js不同

5.vue的性能优化怎么做?

1.编码优化

不要把所有数据都放在data中

v-for时给每个元素绑定事件用事件代理

keep-alive缓存组件

尽可能拆分组件,提高复用性、维护性

key值要保持唯一

合理使用路由懒加载,异步组件

数据持久化存储的使用尽量防抖、节流优化

2.加载优化

按需加载

内容懒加载

图片懒加载

3.用户体验

骨架屏

4.SEO优化

预渲染

服务端渲染ssr

5.打包优化

CDN形式加载第三方模块

多线程打包

抽离公共文件

6.缓存和压缩

客户端缓存、服务端缓存

服务端Gzip压缩

6.首屏优化该如何去做?

1.使用路由懒加载

2.非首屏组件使用异步组件

3.首屏中不要的组件延迟加载

4.静态资源放在CDN上

5.减少首屏上JS、CSS等资源文件的大小

6.使用服务端渲染

7.尽量减少DOM的数量和层级

8.使用精灵图请求

9.做一些loading

10.开启Gzip压缩

11.图片懒加载

7.vue3性能为什么比vue2好?

1.diff算法的优化

2.静态提升

3.事件侦听缓存

8.vue3为什么使用proxy?

1.proxy可以代理整个对象,defineproperty只代理对象上的某个属性

2.proxy对代理对象的监听更加丰富

3.proxy代理对象会 生成新的对象,不会修改被代理对象本身

4.proxy不兼容ie浏览器

9.说一下你对组件的理解

可以重复使用的vue实例,独一无二的组件名称

可以抽离单独的公共模块

提高代码的复用率

10.你是如何规划项目文件的?

public

图标、index.html、img

src

api

asserts

components

按分类再次划分子目录

plugins

router

static

styles

utils

views

App.vue

main.js

package.json

vue.config.js

11.是否使用过nuxt.js?

是基于vue的应用框架,关注的是渲染,可以开发服务端渲染应用的配置

SSR:服务端渲染

好处:SSR生成的是由内容的HTML页面,有利于搜索引擎的搜索,优化了首屏加载时间

SEO:优化搜索引擎

SPA的应用不利于搜索引擎SEO的操作

12.SEO如何优化?

1.SSR

2.预渲染 prerender-spa-plugin

相关推荐
GuWenyue5 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
原则猫7 小时前
函数/变量提升
前端
独泪了无痕7 小时前
Vue3 Hooks使用实战解析
前端·vue.js
shawxlee9 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户059540174469 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹9 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen9 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱9 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
郝亚军11 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js
IT_陈寒11 小时前
React的useEffect依赖项把我坑惨了
前端·人工智能·后端