如何使用spa-prerender插件在VUE中预呈现“ *”(未找到)页面

时间:2018-08-20 11:58:45

标签: vue.js vuejs2

我在Vue.js中使用spa-prerender-plugin,一切正常。

但是,我也想预渲染404页面,这在Vue中是这样的:

{ 
    path: '*', 
    name: 'FourOhFour', 
    component: FourOhFour 
}

使用插件,我想这样添加404:

routes: ['/', '/contact', '*'],

但是尝试一下,我得到了:

  

[prerender-spa-plugin]中的错误无法预渲染所有路由!

谢谢。

2 个答案:

答案 0 :(得分:0)

根据https://github.com/chrisvfritz/prerender-spa-plugin/issues/237,这是不可能的。

您可以像编辑路由器代码一样

path: '/404', 
name: 'FourOhFour', 
component: FourOhFour

并通过替换此行将不受欢迎的路由重定向到.htaccess中的404页

RewriteRule    (.*) index.html [L]

使用

RewriteRule    (.*) 404/index.html [L]

答案 1 :(得分:0)

我找到了另一种简单的解决方案,无需即可编辑.htaccess文件。 只需插入要预渲染到路由器的语句即可:

{
      path: '/404',
      name: 'FourOhFour',
      component: FourOhFour
  },
  {
      path: '*',
      name: 'FourOhFourX',
      component: FourOhFour
  }

并渲染静态路由:

routes: ['/', '/contact', '/404'],