vue cli+axios踩坑记录+拦截器使用,代理跨域proxy

1、首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点 建议方式在main.js中如下声明使用importaxiosfrom'axios';Vue.prototype.$axios=axios;那么在其他vue组件中就可以this.$axios调用使用2.小小的提一下vuecli脚手架前端调后端数据接口时候的本地代理跨域问题,如我在本地localhost访问接口http://40.00.100.100:3002/是要跨域的,相当于浏览器设置了一到门槛,会报错XMLHTTPRequestcannotload http://40.00.100.100:3002/.Responsetopreflightrequestdoesn’tpassaccesscontrol…. 为什么跨域同源非同源自己去查吧,在webpack配置一下proxyTable就OK了,如下 config/index.jsdev:{加入以下proxyTable:{'/api':{target:'http://4...

使用vue2+Axios+Router 之后的总结以及遇到的一些坑

vue有自己的脚手架构建工具vue-cli,使用起来非常方便,使用webpack来集成各种开发便捷工具,比如:代码热更新,修改代码之后网页无刷新改变,对前端开发来说非常的方便PostCss,再也不用去管兼容性的问题了,只针对chrome写css代码,会自动编译生成支持多款浏览器的css代码Eslint,统一代码风格,规避低级错误,对于有代码洁癖的人来说是绝对的好东西,不过有些地方的代码校验有时候也挺麻烦的-.-bable,ES2015出来已经有一段时间了,但是不少浏览器还没有兼容ES6.有了bable,放心使用ES6语法,它会自动转义成ES5语法。Stylus,类似于SASS/SCSS,但是可以不写{}和“:”,使用起来还是很方便的…除此之外,vue-cli已经使用node配置了一套本地服务器和安装命令等,本地运行和打包只需要一个命令就可以搞定,非常的方便vue非常好的融合了react的组件化思想和angular的指令思想。一个vue的组件将HTML、CSS、JS代码写在一个文件里面,这样既方便编写,也方便管理和修改Axios在vue1.x的时候,...

开始使用 Vuejs 2.0 --- 组件间数据传递

Vue1.0组件间传递  使用$on()监听事件;  使用$emit()在它上面触发事件;  使用$dispatch()派发事件,事件沿着父链冒泡;  使用$broadcast()广播事件,事件向下传导给所有的后代Vue2.0后$dispatch(),$broadcast()被弃用,见https://cn.vuejs.org/v2/guide/migration.html#dispatch-和-broadcast-替换 1,父组件向子组件传递场景:Father上一个输入框,根据输入传递到Child组件上。父组件: <template><div><inputtype="text"v-model="msg"><br>//将子控件属性inputValue与父组件msg属性绑定<child:inputValue="msg"></child></div></template><style></style><script>exportdefault...

vue.js 开发环境搭建

1.安装node.js(http://www.runoob.com/nodejs/nodejs-install-setup.html)2.基于node.js,利用淘宝npm镜像安装相关依赖 在cmd里直接输入:npminstall-gcnpm–registry=https://registry.npm.taobao.org,回车,等待安装...3.安装全局vue-cli脚手架,用于帮助搭建所需的模板框架在cmd里1)输入:cnpminstall-gvue-cli,回车,等待安装...      2).输入:vue,回车,若出现vue信息说明表示成功4.创建项目在cmd里输入:vueinitwebpackvue_test(项目文件夹名),回车,等待一小会儿,依次出现‘git’下的项,可按下图操作5.安装依赖在cmd里 1).输入:cdvue_test(项目名),回车,进入到具体项目文件夹       2)...
代码星球 代码星球·2020-04-04

开始使用 Vuejs 2.0 ---简单总结2

Vuejs的常用指令v-htmlv-showv-ifv-forv-on1、v-htmlv-html 更新元素或者变量的innerHTML,按普通html解析,和v-text的区别是在变量中的html标签会被浏览器解析,比如<br>会直接解析为换行 语法<!--直接在html标签中使用vuejs中的变量msg,语法跟v-text相同--><divv-html="msg"></div>实例<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"/><title>Vuejs简单示例</title><!--引入开发版本vue.js,在开发版本中会有很多友好的提示--><scriptsrc='./vue.js'></script></head><body><!--定义一个id为demo的div--><divid="demo"&g...

开始使用 Vuejs 2.0 ---简单总结1

Vue.js(读音/vjuː/,类似于view)是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vuejs 采用自底向上增量开发的设计。Vuejs 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vuejs 完全有能力驱动采用单文件组件和 Vuejs 生态系统支持的库开发的复杂单页应用。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。有部分功能和Jquery是差不多的,Vuejs能做的,Jquery也能做,Vuejs在实现相同功能的时候更简单.1、vuejs数据绑定在Vuejs中变量在html中绑定标签是两个花括号{{变量}}在vuejs中的获取页面中id不可以放在body和html标签里vuejs启用的区域就在id为demo的div块中<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"/><title>Vue...

Vue-cli3 axios路由拦截 并使用

1.安装axios(在项目中)npmiaxios  2.创建axios.intercept.js 内容如下//配置axios拦截器importaxiosfrom'axios';importstorefrom'../store';//追加token//创建axios实例constservice=axios.create({//baseURL:process.env.VUE_APP_URL,//api的VUE_APP_URLtimeout:50000//请求超时时间});//request拦截器,在请求之前做一些处理service._requestCount=0;//接口请求累加service.interceptors.request.use(config=>{service._requestCount++;store.commit('handleLoading',true);//接口请求loadingreturnconfig},error=>{console.log(error)//fordebugPromise.reject(error)})//response拦...

Vue-cli3 配置生产环境、测试环境 打包指令

1.在根目录创建.env.dev文件作为测试环境配置      创建.env.prod文件作为生产环境配置     (创建的文件和package.json在同一级) 2.配置.env.dev文件 .env.prod文件同下//测试环境标记package.json用VUE_APP_MODE='dev'NODE_ENV='development'//测试环境url请求路径VUE_APP_URL='http://192.168.1.2:9291'//配置代理VUE_APP_URL1='/api'//测试文件上传VUE_APP_UPLOAD_URL='http://192.168.1.5:9291'//基础服务接口地址VUE_APP_BASIC_URL='http://192.168.1.2:8083'//支出接口VUE_APP_DISBURSE_URL='http://192.168.1.3:8081'//收入接口VUE_APP_INCOME_URL='http://192.168.1.4:9291'  3.配置package.json文件创建打包指令...

vue2.0 在页面中使用process获取全局路径的时候 报错 process is not defined

如果是刚配置好的全局变量需要重新启动一下vue才能通过proccess.env.xxx获取到如果想在html中使用需要在data中声明一个变量然后在vue生命周期中将process.env.xxx赋值给这个变量 例如我在.env.dev文件中刚配置了一个上传文件的url//测试环境标记package.json用VUE_APP_MODE='dev'NODE_ENV='development'//测试环境url请求路径VUE_APP_URL='http://www.env.com/'//测试文件上传VUE_APP_UPLOAD_URL='http://www.env.com/' 这个时候我需要重启一下vue才能通过process.env.VUE_APP_UPLOAD_URL 获取到他  如果我需要在html中使用这个变量的话,如果直接在html中使用process.env.VUE_APP_UPLOAD_URL 的话可能会报错<!--选择结算日期--><template><divclass="select-ope...

Vue-cli3 中 通过在index.html添加的script js文件 如何在组件内使用不会 xxx is not defined错误

以jQuery为例第一种方法更改webpack配置信息1.在vue.config.js中(如果没有请在根目录新建)配置如下信息//constwebpack=require('webpack')module.exports={configureWebpack:{externals:{'jQuery':'jQuery',//其中左侧是你要import时的名字右侧是此js抛出的全局变量名称'echarts':'echarts'}}};2.在vue组件中使用import$from'jQuery'; 第二种方法更改eslint配置信息在.eslintrc.js中配置1.可以关闭no-undef检查可以隐藏所有未定义但已使用的报错信息module.exports={......rules:{   //在rules规则中插入一条规则'no-undef':'off',//关闭未定义检查},}   或者可以配置globals属性将$设置为truemodule.exports={ ......globals:{$:true,    echarts:true,    d3:true},}...

Vue 添加外部的时间插件不触发v-model事件更改数据

使用的jquery日期插件 最终问题是在选择完成日期后并未激活oninput事件,所以也没有激活v-model去改变date解决思路:  去插件js文件中,在赋值给dom的时候添加模拟输入事件便可  例如jquery写法  $(element).trigger("input"); ...

Vue router拦截 如果用户并未登录直接跳转到登录界面(最简单的cookie演示)

router.beforeEach(function(to,from,next){console.log('路由拦截')console.log(to.name)console.log(from.name)if(to.name=='login'){next();}else{if($.cookie('userIsLogin')=='true'){next();}else{next({path:'/login'});}}}) 我的登录地址是login,如果userIsLogin并没有写true的话,将在点击每一个连接的时候直接跳转到登录界面,但是如果用户直接通过连接进入,那将直接可以查看此链接的内容,并不会进行拦截。这个时候需要在最大的组件中添加如下代码varapp=newVue({el:'#app',router,components:{Container},mounted:function(){if(!($.cookie('userIsLogin')=='true')){//如果用户并未登录直接跳转到登录界面this.$router.push('/login')}}})或者 将...

vue-cli watch简单用法

创建一个vue单文件<template><divid="test"><h4@click="changeMsg()"id="outputDom">{{msg}}</h4></div></template><script>exportdefault{name:"test",data:function(){return{msg:'testmsg'}},watch:{msg:function(){console.log('msg进行了改变');}},mounted:function(){},methods:{changeMsg:function(){this.msg="改变MSG"}}}</script><stylelang="less"></style>   这个时候我点击h4标签的时候便会触发watch中的msg方法...
代码星球 代码星球·2020-04-04

Vue-cli添加全局js

1.填写全局config.jsfunctiongetConfig(str){varajaxurl="http://112.80.39.92:8008/webservices/rest.php?version=1.1"//测试//varajaxurl="http://112.80.39.92:8018/webservices/rest.php?version=1.1"//生产switch(str){case"ajaxurl":returnajaxurlbreak;}}//暴露的方法//公开的方法exportdefault{getConfig:getConfig,//获取公共配置方法}   main.js引入当前文件importgetMyConfigfrom'./assets/js/config'Vue.prototype.$getMyConfig=getMyConfig;//引入配置文件这个时候就可以全局使用了使用方法varajaxurl=this.$getMyConfig.getConfig('ajaxurl');获取url路径...
代码星球 代码星球·2020-04-04

使用vue-cli 引入bootstrap.min.css文件报错

可以在index.html里面引入boostrap.min.css文件将bootstrap.min.css文件放置于static/css/文件夹中然后再index.html文件中引入便可<linkrel="stylesheet"href="./static/css/bootstrap.min.css">...
首页上一页...146147148149150...下一页尾页