• 放在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;
        }

Logo

前往低代码交流专区

更多推荐