问题描述
我有一个用 Java 编写的遗留多页系统,它有一个仪表板作为 Vue 项目。在 App.vue 上调用仪表板组件,因此在构建时,需要仪表板的页面会调用构建文件。但是,现在我需要在另一个不同的页面上使用 Vue,如果我只是将与应用程序相同的 id,我也会得到仪表板,这是我不想的。
我搜索了很多,但很困惑,我发现我必须处理 webpack 配置、条目或制作多个 vue 实例/应用程序。
我现在正在做的是在 main.js 上创建新的 vue() 以使用自己的 id 导出我的新组件,以便我可以在我想要的其他页面上使用它。所以在 main.js 上,我现在有两个新的 vue。
在 webpack 方法中,我认为令人困惑的是,如果我为每个组件制作包,我如何在 div 上调用它,例如,像 ids 与实例一起工作的方式?
多个 vue 实例似乎更容易,这是一种不好的做法吗?这里最好的方法是什么?提前致谢。
解决方法
您最好的选择是探索 Vue 2 已经支持的自定义元素(Vue 3 目前正在开发中)。
自定义元素又名 webcomponents 可以将组件集成到任何 html 页面中。
检查以下文档:vue official doc for webcomponents 以及官方 webcomponents 文档 official webcomponents documentation