我用vue快2年了,记得是跟技术达人(我们当时的技术总监)一起开发的)两年前阿里处理的一个SPA项目,是一个难解的难题。因为技术老大是阿里出身,所以很多东西更倾向于自动化,从项目ui设计到项目管理,到打包测试,到发布。所有要求我们希望尽可能自动化并减少手动操作。当时技术老大要求在jenkins中实现一键打包,也就是点击不同的按钮,将测试环境运行的包和正式环境运行的包打包到同一套代码上。研究这个东西花了我一天的时间,无奈只好硬着头皮做出来了。后来想着修改一下,也比较简单。Step1、在package.json中新增命令行脚本test命令,指向build文件夹下的test.js。Step2,在build文件夹下新建test.js,内容可以直接复制到build.js同目录下的内容,修改一些参数,这样就多了一个测试环境Step3,新建webpack.test.conf。build文件夹下的js,内容可以直接复制同目录下的webpack.prod.conf.js的内容,修改一些参数。这样在构建的时候会去config文件夹下的test.env.js中寻找环境变量。Step4、在config下创建一个test.js文件Step5、在打包的axios.js文件夹下创建config.jsStep6、将config.js打包的get和post请求导入到打包好的axios中Step7、在config文件test下增加索引module(构建可以复制)并更改相应的参数。打包时执行:npmruntest会自动指向测试环境的域名dist文件,执行npmrunbuild会打包指向正式环境域名的dist文件,连接到Jenkins中的gitlab/github,然后命令被分配分别运行测试和运行构建。当需要发布的时候,直接点击不同的按钮,Linux下就可以在不同的环境下自动打包dist,可以提高开发效率,降低开发和沟通成本。
