当前位置: 首页 > news >正文

vue2面试题10|[2024-11-24]

问题1:vue设置代理

如果你的前端应用和后端API服务器没有运行在同一个主机上,你需要在开发环境下将API请求代理到API服务器。这个问题可以通过vue.config.js中的devServer.proxy选项来配置。

1.devServer.proxy可以是一个指向开发环境API服务器的字符串:

module.exports = {devServer: {proxy: 'http://localhost:4000'}
}

2.更多的代理控制行为:

module.exports = {devServer: {proxy: {'/api': {target: '<url>',ws: true,changeOrigin: true},'/foo': {target: '<other_url>'}}}
}

问题2:vue项目打包完成之后为什么会出现空白页 ?怎么解决?

1.打包路径:

module.exports = {publicPath:'./'  // 此处的路径,由具体情况决定
}

2.路由模式:

hash:#

history:没有#

前端如果自己测试项目,直接将路由模式改为hash

项目上线要求是history模式,该怎么办?

        前端不需要进行处理,只需要告诉后端,前端的路由模式为history,可使用重定向。

router/index.js
const router = new VueRouter({mode:"history",base:process.env.BASE_URL,routes
});

问题3:模式和环境变量

在项目中的根目录新建文件:

        开发环境:.env.development

        生产环境: .env.production

问题4:后端解决跨域问题

// 在routes中的index.js
router.all('*', function(req, res, next) {res.header('Access-Control-Allow-Origin','*');res.header('Access-Control-Allow-Headers','Content-Type');res.header('Access-Control-Allow-Methods','*');res.header('Content-Type','application/json;charset=utf-8');next();
});

问题5:Vue路由模式

路由模式有两种:history、hash

区别:

        1.表现形态不同

                history:  http://localhost:8080/about

                hash   :     http://localhost:8080/#/about

        2.跳转请求

                (当没有找到页面--404)

                history: http://localhost:8080/id  ----》发送请求

                hash:    不会发送请求

        3.打包后前端自测要使用hash,如果使用history会出现空白页

问题6:介绍一下SPA以及SPA有什么缺点

SPA是什么? 单页面应用

缺点:

        1.SEO优化不好

        2.性能不是特别好

问题7:Vue路径传值

1.显式(在url上是能看到所传递的值)

        http://localhost:8080/about?a=1

        1.1 传 

this.$router.push({path:'/about',query:{a:1}
})

        1.2 接

        this.$route.query.a

2.隐式(在url上看不到传递的值)

        http://localhost:8080/about

        2.1 传

this.$router.push({name:'About',params:{a:1}
})

        2.2 接

        this.$route.params.a

问题8:路由导航守卫有哪些

全局、路由独享、组件内

使用场景:在进入某个页面之前进行判断拦截(点击订单的时候,先要判断是否已登录,如果已登录就next,若没登录就要跳转到登录页面)

1.全局

        beforeEach、beforeResolve、afterEach

2.路由独享

        beforeEnter

router.beforeEach((to, from, next) => {if(){next();}else{router.push('/login')next('/login')}
})

3.组件内(一般使用的少)

        beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave

 问题9:Vue动态路由

并不是所有的项目都会用到动态路由

场景:详情页(文章、商品) ----  多个信息共用一个页面

path:"/list/:id"

router.js配置

{path:"/list",name:"List",children:[{path:'/list/:id',name:'Details',component: () => import("../views/Details.vue")}],component: () => import("../views/List.vue")
}
http://www.lryc.cn/news/490727.html

相关文章:

  • c语言与c++到底有什么区别?
  • 云计算-华为HCIA-学习笔记
  • 优先算法 —— 双指针系列 - 复写零
  • 初识Linux—— 基本指令(下)
  • esayexcel进行模板下载,数据导入,验证不通过,错误信息标注在excel上进行返回下载
  • 服务器数据恢复—raid5阵列热备盘上线失败导致EXT3文件系统不可用的数据恢复案例
  • 《Qt Creator:人工智能时代的跨平台开发利器》
  • AG32既可以做MCU,也可以仅当CPLD使用
  • 51c自动驾驶~合集31
  • 2023年3月GESPC++一级真题解析
  • linux NFS
  • 查看浏览器的请求头
  • 【JavaEE进阶】 JavaScript
  • 后端接受大写参数(亲测能用)
  • Unity ShaderLab --- 实现局部透明
  • Edify 3D: Scalable High-Quality 3D Asset Generation 论文解读
  • 银河麒麟v10 x86架构二进制方式kubeadm+docker+cri-docker搭建k8s集群(证书有效期100年) —— 筑梦之路
  • Python浪漫之画明亮的月亮
  • 【前端】JavaScript 中的函数嵌套:从基础到深度应用的全面指南
  • 微信小程序条件渲染与列表渲染的全面教程
  • 全面击破工程级复杂缓存难题
  • python安装包中的一些问题(三):加载 matplotlib 的过程中,调用了 Pillow(PIL 库)时发生了错误
  • AWTK-WEB 快速入门(1) - C 语言应用程序
  • 【Spiffo】环境配置:VScode+Windows开发环境
  • 贴代码框架PasteForm特性介绍之file
  • 2024年 数模美赛 B题 潜水艇
  • ChatGPT 与其他 AI 技术在短视频营销中的技术应用与协同策略
  • H.265流媒体播放器EasyPlayer.js播放器提示MSE不支持H.265解码可能的原因
  • 电脑自动关机时间如何定?Wise Auto Shutdown 设置关机教程
  • 笔记mfc11