情景介绍
服务器上80端口已部署一套vue项目,现在乃至未来还可能要部署n个前端项目,而已部署的项目的nginx的配置不能修改
项目配置
假设需要部署的第二个vue项目是放在服务器的 “project” 目录下
打包环境:
1、os:Windows10
2、node: v12.19.0
3、vue-cli3
4、vue:2.3.10
第一步 将vue.config.js里的 publicPath 设置为‘'/project/'
publicPath: '/project/'
第二步 将路由的base也设置为 “/project/”
1 const createRouter = () => new Router({ 2 mode: 'history', 3 base:'/project/', 4 routes: routes 5 })
第三步 在模板文件index.html的head里添加下面一行,将打包生成的文件引入路径修正
<meta base=/project-web/ >
至此,vue项目内部设置已完成,打包将项目放到服务器的“project”目录下
第4步 nginx配置,接口的代理转发就不多说,正常配置就好了
1 #第一个项目的配置 2 location / { 3 root /usr/local/web/example/; 4 index index.html index.htm; 5 try_files $uri $uri/ @router; 6 } 7 #第二个项目的配置 8 location /project { 9 root /usr/local/web; 10 index index.html index.htm; 11 try_files $uri $uri/ /project/index.html; 12 } 13 location @router { 14 rewrite ^.*$ /index.html last; 15 }
重启nginx