为什么vue.js会在生产中报告404路由,而不在开发中报告404路由?

时间:2019-07-12 21:00:11

标签: vue.js nginx

我是Vue.js的新手,但谁能向我解释为什么这些路由无法按预期工作?

在本地开发模式下没有问题,但是当我部署到服务器时就出现了问题。运行npm run serve,我可以访问auth/login,但是在npm run build之后,服务器会在auth/login上返回404。该服务器是Digitial Ocean Ubuntu计算机,设置为git远程服务器,具有钩子,可以自动构建并服务dist

前往https://example.com/auth/login时得到404,但导航到https://example.com/address-records很好。似乎只有一个多于/的深度才能返回404。

这是路由器代码

let router = new Router({
  mode: "history",
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/",
      name: "home",
      component: Home
    },
    {
      path: "/auth/login",
      name: "Login",
      component: Login
    },
    {
      path: "/address-records",
      name: "Address",
      component: Address
    }
  ]
});

使用Nginx需要做些特别的事情吗?我使用类似的搜索问题进行设置。

 location / {
        try_files $uri $uri/ /index.html;
 }
 location @rewrites {
         rewrite ^(.+)$ /index.html last;
      }

 location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
         # Some basic cache-control for static files to be sent to the browser
         expires max;
         add_header Pragma public;
         add_header Cache-Control "public, must-revalidate, proxy-revalidate";
  }

0 个答案:

没有答案