vue中使用proxy配置不同端口和ip接口
问题描述:
使用vue-cli创建的项目,开发地址是localhost:8080,由于后台开发不同的模块,导致每个模块请求的ip和端口号不一致
例如:http://192.168.10.22:8081 或者 http://192.168.10.30:9999等
解决问题:
在vue.config.js中配置不同的端口号
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
devServer: {
open: true,
proxy: {
'/monitor': { // 配置的变量
target: 'http://192.168.10.30:9999', // 需要请求的第三方接口
changeOrigin: true, // 开启代理:
在本地会创建一个虚拟服务器,然后发送请求,并同时接收请求,
这样服务端和服务端进行交互就不会有跨域问题
pathRewrite: { // 这里重写路径,如果monitor本身不存在接口路径中,一定要写成空!!!
'^/monitor': ''
},
ws: false
}
}
}
}
在调用该接口的时候,需要写上'/monitor/'
export const getDictionary = ((params) => {
return _axios({
url: '/monitor/keypersonnel/getDictionaryForType',
method: 'post',
data: params
})
})
备注:proxy代理只在本地测试的开发环境有效,在部署到线上的时候应该怎么区分呢
问题:
若项目中不同模块请求不同ip和端口的接口,应该怎么设为可配置的呢,后端可以修改的,避免由于接口问题导致的不断的打包上线
思路一:在public目录下放置json文件,配置的时候,去读取json文件
<template>
<div class="er">
<el-scrollbar style="height:100%">
<div class="ds">
<img
class="sdde"
:src='`${publicPath}imges/but_play.png`'
>
</div>
</el-scrollbar>
</div>
</template> <script>
export default {
data() {
return {
publicPath: process.env.BASE_URL
}
},
components: {
} }
</script
结果: 失败!给图片的src赋值成功,但是在create中按照同样的方法去require这个json文件,还是报路径错误
思路二: 在public中新建js文件,在js文件中,将地址挂载到window上,并在index的html文件中引入
// 配置线上的请求地址
window.serverUrl = {
publicSentiment: 'http://192.168.10.22:8081', // 舆情分析
monitor: 'http://192.168.70.6:9999' // 重点人员监控
}
结果:成功!
vue中使用proxy配置不同端口和ip接口的更多相关文章
- axios在vue中的简单配置与使用
一.axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:https://hzzly.github.io/2017/03/12/ ...
- vue中webpack的配置理解
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面 (环境变量及其基本变量的配置) var path = require('path') ...
- vue中eslintrc.js配置最详细介绍
本文是对vue项目中自带文件eslintrc.js的内容解析, 介绍了各个eslint配置项的作用,以及为什么这样设置. 比较详细,看完能对eslint有较为全面的了解,基本解除对该文件的疑惑. /* ...
- vue中的config配置
在webpack.base.conf文件中配置别名以及扩展名 resolve: { extensions: ['.js', '.vue', '.json', '.styl'], alias: { 'v ...
- vue中添加less配置,用于计算div高度
需求:左边垂直的菜单栏高度设置为 100% - 导航栏的高度(3.6rem) 首先,从vue-cli脚手架里的安装的webpack模板中并没有less的依赖配置,得自己手动添加安装 安装命令::npm ...
- vue中 aixos 常用配置 aixos拦截器 interceptors的使用
axios的配置 公共路径配置 拦截器的使用 //这个文件是根组件 new Vue,所有所需的模块和对象都要在new Vue之前配置好 ...
- vue中main.js配置后端请求地址
Vue.config.productionTip = false; axios.defaults.baseURL = 'http://127.0.0.1:8003/';//后端开发环境地址 // ax ...
- vue中sass的配置安装流程
1.安装node-sass,因为scss是基于此库的 cnpm install --save-dev node-sass 2.安装sass-loader cnpm install --save-dev ...
- vue中config/index.js:配置的详细理解
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面 (环境变量及其基本变量的配置) var path = require('path') ...
随机推荐
- LC 725. Split Linked List in Parts
Given a (singly) linked list with head node root, write a function to split the linked list into k c ...
- SQL-W3School-基础:SQL 简介
ylbtech-SQL-W3School-基础:SQL 简介 1.返回顶部 1. SQL 是用于访问和处理数据库的标准的计算机语言. 什么是 SQL? SQL 指结构化查询语言 SQL 使我们有能力访 ...
- html提交表单,php在后台获取表单内容的方法_例1
html代码: <html> <head> <meta http-equiv="Content-Type" content="t ...
- Selenium 2自动化测试实战41(多线程技术)
多线程技术 python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的,原始的线程以及一个简单的锁.threading基于Java的线程模型设计. 1.th ...
- 一百二十八:CMS系统之轮播图的编辑和删除功能
编辑 form,继承添加的form 视图 @bp.route('/ubanners/', methods=['POST'])@login_required@permission_required(CM ...
- maven循环引用的问题
多模块的maven工程,有时候由于设计的不合理或者需求的变更.会导致模块之间产生循环依赖,编译的时候会报如下的错误: [INFO] Scanning for projects... [ERROR] T ...
- Docker Windows
docker windows 操作和linux上稍有些差异,主要是在启动容器时的命令参数 和 端口映射. 1.下载docker-toolbox http://mirrors.aliyun.com/do ...
- co源码
co模块整体包括三部分 对于几种参数类型的判断,主要判断是否object,array,promise,generator,generatorFunction这几种; 将几种不同的参数类型转换为prom ...
- gitlab 安装升级
GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 安装方式: Bitnami一键安装:https: ...
- 13.sqoop的安装
上传sqoop压缩包,并解压 给sqoop一个软链接 给sqoop配置环境变量 #sqoop export SQOOP_HOME=/opt/modules/sqoop export PATH=$P ...