在nodejs中完成反向代理实现
安装反向代理的模块
cnpm i http-proxy-middleware -S
在node程序完成代理编码
const express = require('express') const httpProxyMiddleware = require('http-proxy-middleware') const router = express.Router() // 服务器代理 --接口中间层 代理层 router.use('/api'.httpProxyMiddleware.createProxyMiddleware.createProxyMiddleware)({ // 代理目标地址 target: 'http://localhost', // 默认false不修改 修改代理请求时它的主机名称 changeOrigin: true, // 规则匹配 pathRewrite: { // 访问路劲 映射到目标服务器中的路径 // http://localhost:3000/v1/api/a.php ==>http://localhost/a.php // 可以写多个规则 '^/v1/api/aa/bb': '/', '^/v1/api' : '/' } })
vue中实现开发环境的时的反向代理进行跨域解决,在项目根目录下面创建一个vue.config.js文件,写下如下代码
// webpack配置 --- 代理 开发环境时,最常用的 // commonJs模块化 module.exports = { // 指定服务器模块 devServer: { // 代理 proxy: { '/api': { // 目标接口地址 target:'http://localhost:9000', // 请求的主机名和目录地址主机一致 host changeOrigin: true, // 如果axios请求的uri和目标接口uri不一致时才需要正则来映射 pathRewrite:{ // axios中的写的uri前缀 服务器端的请求uri地址 '^/api':'/v1/api' } } } } }