【原】使用webpack打包的后,公共请求路径的配置问题

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

公共变量是这样

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

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

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

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

 

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

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

在我的public.js的代码改为

$.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;

 

原创!

 

posted @ 2015-12-08 17:15  咸鱼老弟  阅读(4817)  评论(0编辑  收藏  举报