vue项目路由模式为history时打包后部署在nginx服务器后,刷新页面空白的问题
放在nginx服务器根目录下的情况:vue.config.js配置:publicPath: '/'router配置:base: '/',mode: 'history'nginx配置文件:location / {try_files $uri $uri/ /index.html;roothtml;indexindex.html index.htm;}放在nginx服务器根目录下一个子目录下的情况(以子
·
- 放在nginx服务器根目录下的情况:
vue.config.js配置:
publicPath: '/'
router配置:
base: '/',
mode: 'history'
nginx配置文件:
location / {
try_files $uri $uri/ /index.html;
root html;
index index.html index.htm;
}
- 放在nginx服务器根目录下一个子目录下的情况(以子目录名称是demo为例):
vue.config.js配置:
publicPath: '/demo/'
router配置:
base: '/demo/',
mode: 'history'
nginx配置文件:
location /demo {
index index.html index.htm;
try_files $uri $uri/ /demo/index.html;
}
2023.3.22补充:
location / {
# 需要指向下面的 @router 否则会出现 Vue 的路由在 Nginx 中刷新出现 404
try_files $uri $uri/ @router;
index index.html index.htm;
}
# 对应上面的 @router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
# 因此需要 rewrite 到 index.html 中,然后交给路由在处理请求资源
location @router {
rewrite ^.*$ /index.html last;
}
更多推荐
已为社区贡献9条内容
所有评论(0)