Javascript 如何在Axios实例中创建动态baseURL

Javascript 如何在Axios实例中创建动态baseURL,javascript,axios,Javascript,Axios,我的应用程序正在iframe中运行,在加载过程中,它会获得一个带有baseURL的有效负载。我想使用该url创建Axios实例 有办法吗 我的意思是: const instance = axios.create({ baseURL: 'https://some-domain.com/api/', // should be dynamic timeout: 1000, headers: {'X-Custom-Header': 'foobar'} }); 这样试试 //config.j

我的应用程序正在
iframe
中运行,在加载过程中,它会获得一个带有
baseURL
的有效负载。我想使用该url创建Axios实例

有办法吗

我的意思是:

const instance = axios.create({
  baseURL: 'https://some-domain.com/api/', // should be dynamic
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});
这样试试

//config.js
    var config = {
        localConfig: {
            baseurl: 'http://localhost:8080/'
        },
        devConfig: {
            //dev url
            baseurl: 'http://dev.url:8080/'
        },
        prodConfig: {
            //prod url
            baseurl: 'http://production.url:8080/'
        }
    },
    
    getConfig: function(){
     switch(window.location.hostname) {
          case 'localhost:8080/':
            return this.localConfig;
          case 'development':
            return this.devConfig;
           case 'production':
            return this.prodConfig;
        }
      }
    }

export default config;


//service.js
const instance = axios.create({
  baseURL: config.getConfig().baseurl, // should be dynamic
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

baseURL
附带有效负载到
iframe
。所以我不能预先定义url,你可以得到iframe url,然后做一个应该可以工作的切换用例@鲁基斯曼