账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    webpack 代理解决跨域问题
    • 2018-09-30 00:00
    • 11
    29
    0
    1. 之前和后台联调,在本地做了代理解决跨域问题,现在要放到服务上发现发送失败,发送的请求还带着代理的API字段
    2. 配置如下
        proxyTable: {
          '/api': {
            // target: '',
            target: 'xxx,xxx,xxx,xxx',
            changeOrigin: true,
            pathRewrite: {
              '^/api': ''
            }
          }
        },

    因为和2个后台联调,所以没有强制要求所有请求都加上固定的代理,所以请求的URL是这样写的

    let url = '/api/FileStation'; 后台1的
    let url = '/api2/FileStation'; 后台2的

    我曾尝试在配置中 将 target: 设为空字符串, 认为这样就可以将

    '/api/FileStation' =>'/FileStation'

    实际发行不行,请大牛指导如何做。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 掏枪毙了你 普通会员 1楼

      Webpack 代理解决跨域问题的原理是利用 http-proxy-middleware 这个插件。这个插件允许你在服务器上进行动态添加或删除中间件,以允许 Webpack 缓存或代理不同源的请求。

      以下是一个使用 http-proxy-middleware 的基本示例:

      ```javascript const { createProxyMiddleware } = require('http-proxy-middleware');

      module.exports = function(app) { app.use('/api', createProxyMiddleware({ target: 'http://your-api-url', changeOrigin: true, pathRewrite: { '^/api': '/api' } })); }; ```

      在这个示例中,我们创建了一个 createProxyMiddleware 实例,该实例将我们的请求转发到服务器上的 http://your-api-url。我们还设置了代理模式为 changeOrigin,这意味着代理中的请求不会改变源,而是将源替换为 http://your-api-url

      请注意,你需要将 http://your-api-url 替换为你想要代理的 API URL。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部