有啥方法可以在 vuepress 中更改 vue 路由器的模式

Posted

技术标签:

【中文标题】有啥方法可以在 vuepress 中更改 vue 路由器的模式【英文标题】:Is there any way to change mode for vue router in vuepress有什么方法可以在 vuepress 中更改 vue 路由器的模式 【发布时间】:2020-10-08 05:52:10 【问题描述】:

目前vuepress中vue router的属性mode是'history'

我想把vuepress中vue router的属性mode改成hash

有什么办法可以做到吗?

我尝试在.vuepress 目录(https://vuepress.vuejs.org/guide/basic-config.html#app-level-enhancements)中创建了一个文件enhanceApp.js,如下所示。

export default (
  Vue, // the version of Vue being used in the VuePress app
  options, // the options for the root Vue instance
  router, // the router instance for the app
  siteData, // site metadata
  isServer // is this enhancement applied in server-rendering or client
) => 
  router.mode = 'hash';




但是没有运气。

【问题讨论】:

为什么要在 Vuepress 中更改 VueRouter 的 mode?我认为这是不可能的,因为使用 mode: 'hash' 你不能预渲染路由器。 我确实想在 Vuepres 中更改 VueRouter 的模式,因为我想使用哈希模式。有一个历史为什么我要使用 VueRouter 的哈希模式。我无法解释这一切。那么,根本就没有任何可能的方法来改变 vuepress 中的 vuerouter 模式吗? @GabrielWillemann 我认为这是不可能的。但是你可以使用 VueRouter 和 Markdown-it 创建一个 Vue 应用。 【参考方案1】:
// .vuepress\enhanceApp.js

import VueRouter from 'vue-router'

export default (Vue, options, router, siteData
) => 
  router = new VueRouter(
    ...router.options,
    mode: 'hash',
  )

【讨论】:

以上是关于有啥方法可以在 vuepress 中更改 vue 路由器的模式的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vuepress 中使用 Vue 插件?

如何在 Vuepress 站点中使用 vue-apollo?

VuePress从零开始搭建自己的博客

在 Vue 组件中解析 webpack 图像源(在 Vuepress 中)

使用vuePress制作文档2-md中使用vue

VuePress在build打包时window document is not defined