vue-cli3 想请求多个不同域名的接口,配置是这样吗?如果到生产环境中再该如何配置呢?

vue-cli3 想请求多个不同域名的接口,配置是这样吗?如果到生产环境中再该如何配置呢?

我的 vue.config.js文件是这样配置的

var webpack = require("webpack");
module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
  devServer: {
    proxy: {
      "/api": {
        target: "https://api.openbrewerydb.org"
      },
      "/api2": {
        target: "http://jsonplaceholder.typicode.com/users"
      }
    }
  },
  configureWebpack: {
    plugins: [
      new webpack.ProvidePlugin({
        $: "jquery",
        jquery: "jquery",
        "window.jQuery": "jquery",
        jQuery: "jquery"
      })
    ]
  },
  chainWebpack: config => {
    config.module
      .rule("vue")
      .use("vue-loader")
      .loader("vue-loader")
      .tap(options => {
        options.transformAssetUrls = {
          audio: "src"
        };
        return options;
      });
  }
};

这个是 main.js 里axios 的配置

axios.interceptors.response.use(
  response => {
    return response;
  },
  err => {
    console.log(err);
  }
);


axios.defaults.baseURL =  process.env.NODE_ENV === 'development' ? "/api" : ( window.location.protocol + "//" + window.location.hostname )

这个就是部署生产环境的效果 API请求地址不对和开发环境 是不是axios里配置呢

clipboard.png

clipboard.png

求大佬们帮帮忙 在这有礼了 多谢各位。真不知道咋解决了

阅读 7.3k
1 个回答

1: 你devserver里面配置的是开发环境的代理
2: 在生产环境下不会去启动server的, 因为代码放在你公司自己的服务器上
3: 这个问题的解决方案是, 你们服务器帮你做代理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题