Jeecg+ant design pro发布遇到的坑

前提:

后端:jeecg-boot,serve端口8081

前端:ant-design-pro,build构建出的dist文件用nginx部署,port8080

问题描述:

后端打jar包发布到阿里服务器,后端启动正常,接口能正常访问,本地前端能正常访问服务器后台,但是将前端build构建,通过nginx部署,访问发现,前端无法连接后台。

原因:

F12发现,前端请求的URL端口始终是8080,但是后台的serve端口明明是8081,于是,肯定是前端请求地址错误问题导致的。

 

 

    但是我除了nginx部署的时候用了一个8080端口,其他地方都和8080无关。

    肯定和nginx无关,人家只是帮你部署的,于是又是好一番排查。

    1.为什么本地前端可以正常访问。

    因为,本地是通过npm run serve,而npm走的是devServer里边的配置。而发布的前端,有一个request.js,通过里面的地址去访问api。

     2.修改方案。request.js文件修改如下: 

 

扩展:

仔细一看ant-design-pro的代码,其实在前台也有这种类似的判断,判断是开发环境还是生产环境。这里我爸baseURL直接写成了ip的方法把这种判断切换省略了。