第一步: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,实际情况请根据自己文件修改。