背景
背景背景最近发现好多小伙伴刚用VuePress,然后一build完就直接用本地浏览器访问,结果出现黑块。仅仅出现那种问题还好,给项目安装 vuepress-plugin-serve 插件就行了,
但是如果有需求是需要离线查看 VuePress 生成后的文档呢?所以我特地研究了一下——vuepress-plugin-serve解决办法
解决办法解决办法打开 .vuepress/config.js 文件,把 base 的值改成 ./,为了方便调试,最好这样写:
//base: "/",
base: "./",
//base: "/",
base: "./",写两个,一个用于Dev,一个用于Build。
然后打开项目下的 node_modules\@vuepress\core\lib\client 下的 app.js 文件,找到下方这个片段:
const router = new Router({
base: routerBase,
mode: 'history',
fallback: false,
routes,
scrollBehavior (to, from, savedPosition) {

if (savedPosition) {

return savedPosition

} else if (to.hash) {

if (Vue.$vuepress.$get('disableScrollBehavior')) {

return false

}

return {

selector: decodeURIComponent(to.hash)

}

} else {

return { x: 0, y: 0 }

}
}
})

const router = new Router({
base: routerBase,
mode: 'history',
fallback: false,
routes,
scrollBehavior (to, from, savedPosition) {

if (savedPosition) {

return savedPosition

} else if (to.hash) {

if (Vue.$vuepress.$get('disableScrollBehavior')) {

return false

}

return {

selector: decodeURIComponent(to.hash)

}

} else {

return { x: 0, y: 0 }

}
}
})
把 mode: 'history', 注释掉就行了(让它默认为 hash 模式)。
这样一来,就可以快乐地Build项目啦!