Vue项目中遇到的一些问题总结

一、开发环境使用Ajax请求,报错

网上查的资料,在config中的index.js这样设置

proxyTable:{
    ‘/api‘:{
        target:‘‘,    //此处为你的API接口地址
        changeOrigin:true,
        pathRewrite:{
            ‘^/api‘:‘‘    //这里理解为用api代替target中的地址
        }
    }
}

配置完后,请求依然报错,大致是https证书的问题

【HPM】 Error occured while trying to proxy request /xxx/ from localhost:8080 to https://xxxx.xx/xxxx/ ( DEPTH_ZERO_SELF_SIGNED_CERT) (https://nodejs.org/api/errors.html#errors_common_system_errors)

由于后台其实没有证书,所以就增加了个配置:

proxyTable:{
    ‘/api‘:{
        target:‘‘,    //此处为你的API接口地址
        changeOrigin:true,
        pathRewrite:{
            ‘^/api‘:‘‘    //这里理解为用api代替target中的地址
        },
        secure:false
    }
}

参考文章http://www.cnblogs.com/xiterjia/p/6782812.html

二、路由钩子--beforeRouteEnter

刚开始在路由文件中是这样配置的:

router.js
let router=new VueRouter({
    mode:‘history‘,
    routes:[
        {
            path:‘/‘,
            component:LoginPage,
            beforeRouteEnter:(to,from,next)=>{
                        ...//这样发现不会触发,需在相应的组件里加钩子函数
                    }
        }
    ]
})

修改后 login.vue

export default(){

beforeRouteEnter:(to,from,next)=>{
                        ...//在这里加
                    }
}

其实在vue-router的官方文档中写的很清楚,自己没有注意。

三、vue中引入bootstarp

考虑使用bootstrap来进行布局,因此需要在vue项目中引入bootstrap。

1)安装jquery,因为bootstarp中很多依赖jquery:npm install jquery --save--dev

2)安装bootstrap: npm install bootstrap

3)配置jquery,以插件方式打包,在webpack.base.conf.js中加入以下代码

let webpack = require(‘webpack‘)
在module.exports中加入插件相关配置
plugins: [
    new webpack.ProvidePlugin({
      $: "jquery",
      jQuery: "jquery",
      "windows.jQuery": "jquery"
    })
  ] 

4).在入口文件main.js中引入bootstarp

import ‘bootstrap/dist/css/bootstrap.min.css‘
import ‘bootstrap/dist/js/bootstrap.min.js‘

四、路由权限控制

  • 鉴权:登录后记录token,使用路由钩子beforeEach,判断是否有登陆。
  • 权限控制路由显示:动态路由,根据登录后的用户角色来匹配

参考方案https://refined-x.com/2017/11/28/Vue2.0%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E6%8E%A7%E5%88%B6%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/

原文地址:https://www.cnblogs.com/jingmi-coding/p/9516134.html

时间: 2024-08-18 11:52:46

Vue项目中遇到的一些问题总结的相关文章

Vue 项目中使用 jsPlumb

jsPlumb 介绍 jsPlumb 是一个强大的 JavaScript 连线库,它可以将 html中 的元素用箭头.曲线.直线等连接起来,适用于开发 Web 上的图表.建模工具.流程图.关系图等. jsPlumb 参考网站 博客园:http://www.cnblogs.com/leomYili/p/6346526.html?utm_source=itdadao&utm_medium=referral 官网:https://www.jsplumbtoolkit.com/ 安装 jsPlumb v

vue项目中使用阿里iconfont图标

在上一篇文章中介绍了如何在vue项目中使用vue-awesome,如果你想了解,请移步<vue项目中使用vue-awesome> 这里介绍一下vue项目中如何使用阿里的iconfont图标库,先看一下官网 可以看到有将近两百万的图标量,可以说我们想要的矢量图图标这里大部分都是有的,下面直接开始如何在vue项目中使用,方法有两种 方法一:简单粗暴法 1.打开 iconFont官网 选择自己喜欢的图标,并且添加购物车 例如我现在选择三个图标 点击购物车,添加至项目 为了方便可以给项目起一个名字 选

如何在Vue项目中使用vw实现移动端适配

https://www.w3cplus.com/mobile/vw-layout-in-vue.html  原文网址 如何在Vue项目中使用vw实现移动端适配 作者:大漠 日期:2018-01-25 点击:10362 vw Layout 布局 Vue mobile 编辑推荐:使用 Coding.net 搭建静态博客,自定义域名,全站 HTTPS 加密,自动实时部署, 立即托管您的网站! 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页

在vue项目中 如何定义全局变量 全局函数

如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数 定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可. 全局变量模块文件: Global.vue文件: <script> const serverSr

前端框架Vue.js——vue-i18n ,vue项目中如何实现国际化

每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 一.前言 趁着10月的最后一天,来写一篇关于前端国际化的实践型博客.国际化应该都不陌生,就是一个网站.应用可以实现语言的切换. 在这就不谈原理,只说说如何实现中英文的切换.做技术的总得先把 demo 做出来嘛. 二.demo 场景需求分析 需求很简单,左上角 ''网易云音乐''就是一个中英文切换的按钮,点击弹出提示框,确认切换语言后,实现英文版本. 切换成英文版本: 三.实现国际化

转:如何在Vue项目中使用vw实现移动端适配

https://www.w3cplus.com/mobile/vw-layout-in-vue.html 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越受到众多浏览器的支持,因此在<再聊移动端页面的适配>一文中提出了vw来做移动端的适配问题.到目前为止不管是哪一种方案,都还存在一定的缺陷.言外之意,还没有哪一个方案是完美的. 事实上真的不完美

如何在Vue项目中使用Typescript

0.前言 本快速入门指南将会教你如何在Vue项目中使用TypeScript进行开发.本指南非常灵活,它可以将TypeScript集成到现有的Vue项目中任何一个阶段. 1.初始化项目 首先,创建一个新的项目目录. mkdir typescript-vue-tutorial cd typescript-vue-tutorial 接着,在目录中创建如下目录结构. typescript-vue-tutorial/ ├─ dist/ └─ src/ └─ components/ TypeScript文件

如何在Vue项目中给路由跳转加上进度条

1.前言 在平常浏览网页时,我们会注意到在有的网站中,当点击页面中的链接进行路由跳转时,页面顶部会有一个进度条,用来标示页面跳转的进度(如下图所示).虽然实际用处不大,但是对用户来说,有个进度条会大大减轻用户的等待压力,提升用户体验.本篇文章就来教你如何在Vue项目中实现这样的进度条. 2.安装Nprogress 虽然我们也可以自己手动实现这样的功能,但是,nprogress.js已经帮我们把进度条的样式呀,功能呀都已经封装的很好了,既然有现成的轮子,我们就直接使用轮子就好啦! npm inst

vue项目中net::ERR_CONNECTION_TIMED_OUT错误

我出错的原因时network地址与我本机ip地址不一致 Network: http://192.168.13.30:8080/ 处理方法: 在vue项目中新建一个vue.config.js文件 配置上: module.exports = { devServer: { host: '0.0.0.0', port: 8080, } } 这样重启项目,地址改为自己ip地址就可以了 原文地址:https://www.cnblogs.com/zhangshengxiang/p/10170768.html