vue.config.js 配置proxy代理

这篇具有很好参考价值的文章主要介绍了vue.config.js 配置proxy代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方案一: 配置文件

vue.config.js 配置proxy代理,前端,vue.js,前端,javascript

文件内容

# 开发环境
NODE_ENV = 'development'
# base api
VUE_APP_BASE_API = '/api'
# 开发环境,Url地址
VUE_APP_URL = 'https://localhost:44367/api'

三个文件分别是三个不同环境使用的,如线上,线上测试,本地测试。我在本地测试时三个文件都配置成了一样。

 vue.config.js 配置文件

const path = require('path');

const resolve = dir => {
    return path.join(__dirname, dir);
};
const env = process.env.NODE_ENV;
console.info('env: ------>', env, 'api:------>', process.env.VUE_APP_URL,'VUE_APP_BASE_API:-->',process.env.VUE_APP_BASE_API);

module.exports = {
   // mode: 'production',
   publicPath: process.env.NODE_ENV === 'production' ? './' : './',    // 启动页地址
   // publicPath: './',    // 启动页地址
   outputDir: "dist", // 打包的目录
   indexPath: 'index.html', // 生成html文件名
   assetsDir: 'static', // 静态资源文件目录
   runtimeCompiler: true,
   lintOnSave: false, // 在保存时校验格式
   productionSourceMap: false, // 生产环境是否生成 SourceMap
   /*
   chainWebpack: config => {
       // 修复热更新
       config.resolve.symlinks(true);
   },
   */

    devServer: {
        /*1.测试成功 配合配置文件使用 VUE_APP_URL = 'https://localhost:44367/api'*/
        proxy: {
            [process.env.VUE_APP_BASE_API]: {// api 表示拦截以 /api开头的请求路径
                target: process.env.VUE_APP_URL,//跨域的域名(不需要写路径)
                changeOrigin: true,             //是否开启跨域
                ws: true,                       //是否代理websocked
                pathRewrite: {                  //重写路径
                    ['^' + process.env.VUE_APP_BASE_API]: ''//把 /api 变为空字符
                }
            },
        },         
        /*2.测试成功 配置写死 target 不带/api,注意没有pathRewrite属性,调用接口时这么写 api/User/gettest*/
        /* port: 8088,
        proxy: {
            '/api': {// api 表示拦截以 /api开头的请求路径
                target : 'https://localhost:44367',//跨域的域名(不需要写路径)process.env.VUE_APP_URL
                changeOrigin : true,             //是否开启跨域
                ws: true,                     //是否代理websocked
            },
        },  
        /*3.测试成功  配置写死 target 带/api,注意要加pathRewrite属性,调用接口时这么写 api/User/gettest*/
        /*
        proxy: {
            '/api': {// api 表示拦截以 /api开头的请求路径
                target : 'https://localhost:44367/api',//跨域的域名(不需要写路径)process.env.VUE_APP_URL
                changeOrigin : true,             //是否开启跨域
                ws: true,                        //是否代理websocked
                pathRewrite : {                  //重写路径
                    '^/api' : ''                 //把 /api 变为空字符
                }
            },
        }, */
    }
}

问题:

控制台显示 400 (Bad Request)或404等问题都是 vue.config.js 配置文件 的 proxy 的配置问题。

主要检查点是  target 里没有带 /api 和  pathRewrite 属性的问题。

如果使用配置文件要检查 

VUE_APP_BASE_API = '/api' 这里要小心,要注意有没有带 /
VUE_APP_URL = 'https://localhost:44367/api' 这里也要检查要和vue.config.js 配置文件里的代码配合使用。

END文章来源地址https://www.toymoban.com/news/detail-840026.html

到了这里,关于vue.config.js 配置proxy代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue.config.js中proxy配置

    这里以axios发请求为例 如果发送的请求都以 /abc 开头,那么我们就可以在proxy中进行服务器代理配置。 3.代理多个接口 方法1:监测多个接口,可以在proxy中写多个配置:(适用于target不同的代理,相同也可以用这个方法,就是会麻烦一点,对于相同的target方法2会比较方便)

    2024年02月22日
    浏览(27)
  • Vite 配置代理 Proxy,Vue配置代理,解决前端跨域

    我们在做项目的时候经常会遇到跨域的问题,之所以会出现跨域问题是因为浏览器的同源策略,即协议、域名、端口需要一致,才可以访问服务端的资源。当一个请求地址(服务端的地址)的协议、域名、端口三者之间任意一个与当前页面地址(前端页面地址)不同即为跨域

    2024年02月17日
    浏览(30)
  • vue.config.js使用代理配置真实请求url

    前端请求接口过程中会统一配置代理请求url,配置之后浏览器只能看到local host路径。 为方便查看请求的真实ip,需要在vue.config.js中做如下配置,便能在浏览器实时查看到真实地址 配置完重启,效果如下:

    2024年02月13日
    浏览(35)
  • vue2的vue.config.js中简单配置代理跨域

    调用后端接口访问后台数据,但是因为请求url的协议、域名、端口三者之间任意一个与当前页面url不同产生了跨域,我们vue项目运行的地址一般就是localhost 8080端口,而且后端也没有配置允许跨域(后端如果配置跨域通常是cors),所以前端就要配置跨域,Vue跨域在vue.config.j

    2024年02月15日
    浏览(17)
  • vue3项目vite.config.js配置“代理”、“端口”、“打包名”、“图片压缩”

    前言 我们在搭建vue3项目的时候不可避免的会遇到“代理”、“端口”、“打包名”、“图片压缩”等配置问题,本文逐一讲述该怎么样在vite.config.js中去配置。 一、配置代理端口和代理转发 vite.config.ts添加如下代码 ts.config.json添加如下代码 图片压缩先要引入vite-plugin-imagem

    2024年02月07日
    浏览(44)
  • UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

    UniApp 运行到浏览器的时候,接口会跨域报错,这里通过两种方式解决,第一:修改Uniapp自带的manifest.json 源码视图并进行配置h5设置。第二:在项目根目录新建vue.config.js并配置代理。 二选一即可。 修改或调整配置文件后,推荐重新运行,以防不生效。 配置完成后,请求接口

    2024年01月16日
    浏览(26)
  • vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法

    由于vue为单页面项目,通过控制组件局部渲染,main.js是整个项目唯一的入口,整个项目都在一个index.html外壳中。 若项目过大,会造成单页面负载过重;同时,多页面利于模块独立部署。 如果项目中不同的页面需要不同的main.js和App.vue这样就需要配置多个入口了。 要单独将页

    2024年01月22日
    浏览(65)
  • vue配置代理服务器proxy 多种方法

    在Vue项目中配置代理服务器可以通过以下几种方法实现: 在Vue项目的根目录下创建一个vue.config.js文件,并添加以下代码: 上述代码中,我们使用 devServer 配置项来配置代理服务器。其中 proxy 属性用于配置代理的规则, /api 表示需要代理的接口路径。 target 属性表示代理的目

    2024年02月12日
    浏览(37)
  • vue3配置代理--[vite] http proxy error

    跨域请求数据, 浏览器 同源策略的保护机制, 通过 proxy 实现跨域请求数据; 如果直接 postman 请求是不会报错的, vue3 报错是因为经过浏览器了, 数据其实返回了, 但是别浏览器的同源策略屏蔽了。 本地调试, 后端使用** http://localhost:8081 作为接口地址, 报错 [vite] http proxy error ** 可

    2024年02月08日
    浏览(34)
  • Vue2和vue3中双向数据绑定的原理,ES6的Proxy对象代理和JavaScript的Object.defineProperty,使用详细

    简介: Object.defineProperty大家都知道,是vue2中双向数据绑定的原理,它 是 JavaScript 中一个强大且常用的方法,用于定义对象属性,允许我们精确地控制属性的行为,包括读取、写入和删除等操作; 而Proxy是vue3中双向数据绑定的原理,是ES6中一种用于创建代理对象的特殊对象,

    2024年02月15日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包