详解vue-cli本地环境API代理设置和解决跨域


Posted in Javascript onSeptember 05, 2017

前言

我们在使用vue-cli启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以localhost:8080来请求接口数据的,localhost是没有办法设置cookie的。

我们可以在vue-cli配置文件里面设置一个代理,跨域的方法有很多,通常需要后台来进行配置。我们可以直接通过node.js代理服务器来实现跨域请求。

vue proxyTable接口跨域请求调试

在vue-cli项目中的config文件夹下的index.js配置文件中,dev长这样子:

dev: {
  env: require('./dev.env'),
  port: 8080,
  autoOpenBrowser: true,
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: {},  
  cssSourceMap: false
 }

服务器提供的接口如果长这样https://www.exaple.com/server_new/login,我们把域名提取出来如https://www.exaple.com;

在config中新建一个文件命名为proxyConfig.js :

module.exports = {
 proxy: {
    '/apis': {  //将www.exaple.com印射为/apis
      target: 'https://www.exaple.com', // 接口域名
      changeOrigin: true, //是否跨域
      pathRewrite: {
        '^/apis': ''  //需要rewrite的,
      }       
    }
 }
}

config文件夹下的index.js引入proxyConfig.js:

var proxyConfig = require('./proxyConfig')

config文件夹下的index.js中的dev改成:

dev: {
  env: require('./dev.env'),
  port: 8080,
  autoOpenBrowser: true,
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: proxyConfig.proxy,
  cssSourceMap: false
 }

重启项目npm run dev:

你会发现出现了这个

详解vue-cli本地环境API代理设置和解决跨域 

这个时候我们已经设置好了本地API代理了

修改本地hosts文件

文件路径一般是C:\Window\System32\drivers\etc,打开hosts文件,在这一段下面把localhost设置进去

# localhost name resolution is handled within DNS itself.
# 127.0.0.1    localhost
# ::1       localhost
127.0.0.1          activate.adobe.com
127.0.0.1          practivate.adobe.com
127.0.0.1          lmlicenses.wip4.adobe.com
127.0.0.1          lm.licenses.adobe.com
127.0.0.1          na1r.services.adobe.com
127.0.0.1          hlrcv.stage.adobe.com

localhost          www.exaple.com

搞定

此时我们已经完全解决了跨域问题,以及本地测试后台无法向我们本地环境设置cookie的情况了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
Mar 02 Javascript
javascript中创建对象的几种方法总结
Nov 01 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
Nov 17 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
jQuery实现图片走马灯效果的原理分析
Jan 16 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
May 14 Javascript
全面解析Bootstrap表单样式的使用
Sep 09 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
bmob js-sdk 在vue中的使用教程
Jan 21 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
JS学习笔记之闭包小案例分析
May 29 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 #Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 #Javascript
Angular实现下载安装包的功能代码分享
Sep 05 #Javascript
简单谈谈关于Angular Cli打包的事
Sep 05 #Javascript
Vue学习笔记之表单输入控件绑定
Sep 05 #Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 #Javascript
纯js实现画一棵树的示例
Sep 05 #Javascript
You might like
逐步提升php框架的性能
2008/01/10 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
php代码书写习惯优化小结
2013/06/20 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
Node.js JSON模块用法实例分析
2019/01/04 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
使用索引有什么好处
2016/07/27 面试题
中学老师的自我评价
2013/11/07 职场文书
关于打架的检讨书
2014/01/17 职场文书
党员对照检查材料
2014/09/22 职场文书
安全生产月宣传标语
2014/10/06 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技