项目背景:由于公司网络不连接公网,所以在绘制地图大屏项目时,需要我们将边界线数据包也部署起来,来获取边界线数据
解决方案:
1.让后端写个接口或者找个地方将数据包放到服务器即可
2.将数据包放到vue项目的public文件里,这样同样可以通过axios.get('/abc/def.json'),这种方式请求到
遇到的问题:
地图边界线数据包会有数据更新不及时的情况,因此我们要每次部署都使用最新的数据包,所以这个时候就要这个插件"static-geo-atlas" 这个插件数据格式是antvl7plot推荐使用的,但是每次都手动下载-复制-粘贴,很麻烦,因此我希望在每次打包的时候自动执行。
解决方案:
本地只能用自己手动。当使用jenkins打包的时候可以使用shell脚本到node_modules里的文件复制一份到public文件里,然后再进行打包
具体代码如下:
找到jenkins构建环境的执行脚本位置
node -v
npm install -g pnpm --registry=https://registry.npm.taobao.org --unsafe-perm
pnpm -v
pnpm install --registry=https://registry.npm.taobao.org --no-frozen-lockfile --unsafe-perm
cp -r /usr/local/devops/jenkins/workspace/vue3_datascreen/node_modules/static-geo-atlas/geo-data /usr/local/devops/jenkins/workspace/vue3_datascreen/public/
pnpm run build
tar -zcvf dist.tar.gz dist