Vue JS Cli项目,文件夹不受Vue Router影响

问题描述 投票:1回答:2

我已经构建了一个Vue Cli应用程序,它将替换顶级域中的当前静态站点。

但是,它正在替换的当前站点需要在子文件夹中保持活动(并且正常工作)。理想情况下,当导航到这个子文件夹站点时,我希望完全独立于Vue。

在正常情况下我可能会使用/static文件夹,但对于这项任务我不能。这两个项目不能以这种方式混合在一起。

理想情景:

这可能吗?目前,如果我这样做,Vue路由器将给我一个404,因为我的路由设置在顶层(通配路由):

const router = new VueRouter({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'AppHome',
      component: AppHome
    },
    {
      path: '*',
      name: 'AppError',
      component: AppError
    }
  ]
})

我只是基本上想要允许链接到服务器上的子文件夹而不涉及Vue Cli /路由器。

非常感谢。谢谢。

javascript vue.js vue-router
2个回答
2
投票

您可能已将Web服务器设置为将每个请求路由到https://example.com/ *到https://example.com。这是让vue路由器处理路由所必需的,而不必在每个url(https://example.com/#/my-page)中放置主题标签。

为了让您的网站服务器在向https://example.com/old-site发出请求时返回旧网站,您必须配置您的网络服务器,以便它返回该文件夹,而不是像其他任何请求一样提供https://example.com。你如何做到这一点取决于你正在使用的网络服务器,但我相信你能够弄清楚这一点。


2
投票

在我看来,这与VueJS无关,但与您的网络服务器(Apache / Nginx)无关。

如果是nginx,您可以添加新位置

location /old-site {
   root /old-site-dir/;
   try_files $uri $uri/ =404;
}
© www.soinside.com 2019 - 2024. All rights reserved.