第一步:vue项目打包前,更改publicPath,不同版本在不同目录下,2.X在build->config下,3.X在vue.config.js下,如下图设置,我的是3.0;打包。
module.exports = { productionSourceMap: false, //减少打包后的.map文件 publicPath: '/web/', // 输出文件目录 outputDir: 'web', }
第二步:配置nginx,伪静态设置,如下图,默认打开是前端,后台为admin,请注意root和alias的区别,简单的说,root会自动加上location后的路径,alias则不会。
location / { alias /www/wwwroot/new.xxx.com/web/; index index.html; try_files $uri $uri/ @router; error_page 404 /index.html; } location /admin { alias /www/wwwroot/new.xxx.com/admin/dist/; index index.html; try_files $uri $uri/ @router; error_page 404 /index.html; } location @router { rewrite ^.*$ /index.html last; }
第三步:请根据伪静态设置,正确上传文件位置。
第四步:如有fonts字体加载失败,或者不正常显示,说明是目录加载问题,需更改,assetsPublicPath,实际情况请根据自己文件修改。