因为之前一致出现的跨域问题,从而想到了这个办法,属于偏方。推荐使用nginx部署,再去解决跨域问题。
接下来聊一聊本文所使用的方法。
首先将你的前端vue项目拷贝一份到服务器,准备一个dockerfile文件,用这个进行部署首先你得前提是配置好了vue.config.js的跨域配置了,例如:
java
module.exports = {
devServer: {
proxy: {
port: 8081,// vue运行端口号
host: '0.0.0.0',
'/api': {
target: 'http://your-spring-boot-server:8080', // 后端Spring Boot项目地址
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
};
//axios的baseurl也得设置成
const http = axios.create({
baseURL: '/api', // 以访问以api开头
timeout: 10000,
}
)
一 、拷贝项目文件和制作Dockerfile
Ddckfile信息
java
# 使用Node.js官方镜像作为基础镜像
FROM node:14.17.5
# 设置工作目录
WORKDIR /app
# 复制项目文件到容器中
COPY ./app /app
#配置docker容器里面的npm镜像源,不然可能会出现下载超时,出现错误
RUN npm config set registry https://registry.npm.taobao.org/
# 安装项目依赖
RUN npm install
# 打包前端应用
RUN npm run build
# 设置容器启动命令
CMD ["npm", "run", "serve"]
接下来是创建docker镜像,运行容器即可