在真实的vue项目中,当我们的项目需要上线的时候,需要打包一份静态代码给后端放入服务器。由于我们前端本地环境和服务器环境是不一样的,按照传统的做法,我们是把后端给的域名和端口写死在前端,然后再打包代码发给后端,虽然这样写没什么问题。但现实的情况是,我们的域名或者端口是经常变换的,如果每变一次,前端就该 一次代码,重新打包一次,那是不是很麻烦?同时这种写死的做法也不符合我们的编程方式。
如果有一种方法,当我们打包项目后,提供后端一个可修改配置的一个文件,后端爱怎么改就怎么改,和前端没关系,是不是很嗨皮!
这个配置文件必须要解决两个问题:
1、配置文件的参数必须是整个前端项目最顶级的,所有页面所共有的,只要配置参数一变,所有页面都要跟着变。
2、这个文件在大包的时候,必须不被打包,如果被打包了成静态文件了,后端人员拿到了也没办法改动。
解决方法:
以vue 2.5.2为例,vue项目给我们提供了一个static的文件夹,是专门放置一些并不会被webpack处理的文件,它们会直接复制到最终目录(dist/static)下。
第一步:所以我们可以把这个配置文件放在这个目录里,如:
配置文件里放着我们需要全局引用的全局变量。
MY_URL = "http://152.19.41.21:8080";
BASE_URL= "http://162.47.43.27:8001";
第二步:我们把这个配置文件在index.html里引用。
第三步:我们项目里之间使用配置文件里的变量。
项目打包后我们发现static里出现我们需要的配置文件: