挂载 Vue3 到 window

出于某些原因,我需要在一个页面上加载多个 Vue App,它们来自不同的文件,并且分别 bundle

这样每个 App 都需要引入 Vue 3,造成文件体积的浪费,所以我想让这些 App 共用一个 Vue 实例。

在我的预期中,其中一个 App 负责引入 Vue,并将它挂载到 window:

import * as Vue from 'vue'
window.Vue = Vue

在其他 App 中:

import App from './App.vue'

Vue.createApp(App).mount('#xx')

然后发生了一些奇怪的事情:

  • v-for 完全不能渲染
  • Text node 和元素不能共存(模板 {{ data }} <p>xxx</p> 中,data 不渲染)

请问如何正确地挂载 Vue 到 window?(我了解到 Vue 有浏览器版本的 dist,会自动挂载到 window,但是这样会增加一个请求)

阅读 5.7k
1 个回答

外层html中 script 引入vue,每个子vue项目配置webpack分离vue

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题