server.servlet.context-path: 与 assetsDir: ' ' 不得不说的故事

对于Java后端来说,在项目部署的时候存在一种场景,是需要在你请求接口的IP+端口后面加上一个固定的请求头加以访问接口,这时候

server:
  servlet:
    context-path: /myapp

的配置就很有作用了,它是用来表示:应用的上下文路径,也可以称作为项目路径。加上这个配置,那么原先你的访问接口就会由:http://127.0.0.1:8080/api/test 变成 http://127.0.0.1:8080/myapp/api/test 了。(注意过滤器中要放开以myapp开头的请求)这种情况主要适用于使用docker-compose同时部署多个容器的时候,当你在nginx中通过容器名称实现对各个容器服务的转发时,这时只要配置好对应服务的容器名称,就能实现在只使用一个端口的情况下通过不同的容器名称访问不同的服务,避免暴露更多的端口在外面。

同样的,在部署Vue框架构建的前端项目时候,也会出现一种类似的情况,你的前端项目很多个的时候很容易使打包后的js等文件串台了,这时候打包就需要将文件打包到固定文件夹下去部署,在项目的vue.config.js文件中配置:

assetsDir: 'adStatic'

就能很好的避免JS冲突问题。正常来说默认 assetsDir 值为 ’‘ ,也就是说啥都不配置,直接打包,打包后的文件都会到dist文件夹下面去。当配置如上时,打包的文件就会跑到dist/adStatic文件夹下面去。这样做的好处就是当你在nginx配置中通过容器名称实现不同vue项目的转发时候,可以避免不同vue项目的js/css冲突。

不同技术上的两个不同配置,在这种环境下都实现了类似的作用。值得小小记录一下

posted @ 2022-12-08 17:59  21karat  阅读(174)  评论(0编辑  收藏  举报