vue配置代理proxy

如何配置代理

  在 vue devServer服务器配置文件 vue.config.js 的 devServer 选项中配置 proxy

module.exports = {
    // publicPath:process.env.NODE_ENV === 'production' ? '/vue_workspac/aihuhuproject/' : '/',
 
    //基本路径
    publicPath: './',//默认的'/'是绝对路径,如果不确定在根路径,改成相对路径'./'
    // 输出文件目录
    outputDir: 'dist',
    assetsDir: 'static',
    indexPath: 'index.html',
    // eslint-loader 是否在保存的时候检查
    lintOnSave: true,
    // 生产环境是否生成 sourceMap 文件
    productionSourceMap: false,
    // css相关配置
    css: {
        // 是否使用css分离插件 ExtractTextPlugin
        extract: true,
        // 开启 CSS source maps?
        sourceMap: false,
    },
    // webpack-dev-server 相关配置
    devServer: {
        open: false,//open 在devServer启动且第一次构建完成时,自动用我们的系统的默认浏览器去打开要开发的网页
        host: '0.0.0.0',//默认是 localhost。如果你希望服务器外部可访问,指定如下 host: '0.0.0.0',设置之后之后可以访问ip地址
        port: 8080,
        hot: true,//hot配置是否启用模块的热替换功能,devServer的默认行为是在发现源代码被变更后,通过自动刷新整个页面来做到事实预览,开启hot后,将在不刷新整个页面的情况下通过新模块替换老模块来做到实时预览。
        https: false,
        hotOnly: false,// hot 和 hotOnly 的区别是在某些模块不支持热更新的情况下,前者会自动刷新页面,后者不会刷新页面,而是在控制台输出热更新失败
        proxy: {
            '/api': {
                target: 'http://xxxx:8080', //目标接口域名
                secure: false, //false为http访问,true为https访问
                changeOrigin: true, //是否跨域
                pathRewrite: {
                    '^/api': '' //重写接口
                }
            }
        }, // 设置代理
        before: app => { }
    },
    // 第三方插件配置
    pluginOptions: {
        // ...
    }
};
 

### 解决 Vue CLI 配置 `proxy` 代理时报 404 错误的方法 #### 修改 `vue.config.js` 文件中的代理设置 当遇到请求被转发至目标服务器时返回 404 的情况,通常是因为路径重写规则未正确配置或是目标服务器未能识别来自前端应用的特定路由模式。对于这个问题,可以尝试调整 `vue.config.js` 中关于 `devServer.proxy` 的设定来解决问题。 确保 `pathRewrite` 正确移除了不必要的前缀并指向了预期的目标 URL: ```javascript module.exports = { devServer: { proxy: { '/api': { // 这里定义了一个新的映射关系,将所有以 /api 开头的请求都转给下面指定的服务端口处理 target: 'http://localhost:9001', // 将此替换为目标 API 服务的实际地址 changeOrigin: true, pathRewrite: { '^/api': '' // 移除 api 前缀以便于后端能够正常解析剩余部分作为资源位置 } } } } }; ``` 上述代码片段展示了如何重新配置 `vue.config.js` 来修正可能存在的路径问题[^1]。 #### 检查实际请求路径与后端期望的一致性 确认发出 HTTP 请求的具体 URI 和参数是否符合后端所期待的形式。如果存在差异,则可能导致找不到对应资源而触发 404 错误响应。例如,在原始请求中带有 `/api/item/brand/page?...` 参数的情况下,应该保证经过代理后的最终请求同样携带这些查询字符串。 #### 排查 Mock 数据源的问题 考虑到有时即使真实环境下的接口工作良好,但在本地测试期间依赖 mock 数据库也可能遭遇类似的状况。此时需仔细核对 mock 实现逻辑以及其注册时机,确保它们能够在应用程序生命周期早期生效,并且不会因为加载顺序等原因影响到正常的网络通信过程[^2]。 #### 日志记录和调试工具的应用 启用详细的日志输出可以帮助定位具体哪个环节出现了偏差。通过查看控制台打印出来的信息,比如设置了 `logLevel:'debug'` 后得到的日志条目,能更容易找出潜在的原因所在。此外,浏览器开发者工具里的 Network panel 是排查此类问题不可或缺的好帮手之一;它允许直观地观察每一次交互细节及其状态码变化趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y2000104

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值