在我们公司,和后台接接口时,公共的请求路径我们是单独抽出来的,放在一个独立的public.js中,在public.js中存入那个公共变量

公共变量是这样

在其他地方使用ajax时,我们就这样使用

这种用法在平时的项目中是没有问题的。但是因为公司最近的项目都是用react来用,然后用webpack来打包。

webpack打包后,public这个js也被打包进了每个组件中去。如果需要修改的话,要么就在react打包后的每个js文件中修改,要么就是在public.js中修改你的公共

路径,然后再打包一次。这样会显得很麻烦。

 

解决方法就是创建一个config.json文件,并将其放在根目录下,中老年女装因为webpack不会将你的json文件也打包进去,然后再config.json中写

1
2
3
{
    "urlContent":"http://www.dtvalue.com/consultation_market/"
}

在我的public.js的代码改为

1
2
3
4
5
6
7
8
9
10
11
$.urlContent="http://"+window.location.host+"/consultation_market/";
$.ajax({
      url:'config.json',
      async:false,
      type:'get',
      success:function(rs){
        if(rs.urlContent){
         $.urlContent=rs.urlContent ;
        }
     }
});

 这样,用webpack后,当我需要修改我的公共路径时,就不需要这么麻烦,电影推荐只需要修改我的config.json里的代码即可

在这里,$.ajax要改为同步,而不是异步,即 async改为false;