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

时间:2018-01-25 11:58:59

标签: javascript vue.js vue-router

我已经构建了一个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 /路由器。

非常感谢。谢谢。

2 个答案:

答案 0 :(得分:2)

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

为了让您的网络服务器在向https://example.com/old-site发出请求时返回旧网站,您必须配置您的网络服务器,以便它返回该文件夹,而不是像您想要的那样提供https://example.com与其他所有要求。如何执行此操作取决于您使用的网络服务器,但我确定您能够解决这个问题。

答案 1 :(得分:2)

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

如果是nginx,您只需添加新位置

即可
location /old-site {
   root /old-site-dir/;
   try_files $uri $uri/ =404;
}