MPA 模式 experimental
可以通過命令行输入 vitepress build --mpa 或在配置文件中指定 mpa: true 配置选项来啟用 MPA (Multi-Page Application) 模式。
在 MPA 模式下,所有頁面都默认不會包含任何 JavaScript。因此,站點也授權以在评估工具中获得更好的初始访问性能分数。
但是,由于缺少 SPA 路由,在 MPA 模式下切换頁面时會重新加载整个頁面,而不會像 SPA 模式那样立即响应。
同时请注意,默认情况下不使用 JavaScript 意味着你實際上只是将 Vue 作为服务器端模板语言。浏览器不會附加任何事件處理程序,因此将不會有任何交互性。要加载客戶端 JavaScript,需要使用特殊的 <script client> 标签:
html
<script client>
document.querySelector('h1').addEventListener('click', () => {
console.log('client side JavaScript!')
})
</script>
# Hello<script client> 是 VitePress 独有的功能,而不是 Vue 的功能。它可以在 .md 和 .vue 文件中使用,但只能在 MPA 模式下使用。所有主題组件中的客戶端脚本将被打包在一起,而特定頁面的客戶端脚本将會分开處理。
请注意,<script client> 不會被视为 Vue 组件程式碼,它只是普通的 JavaScript 模块。因此,只有在站點需要极少的客戶端交互时,才应该使用 MPA 模式。