我正在使用bootstrap-vue,并且我注意到vue
的渲染方式取决于导入的Vue版本:
如果我导入vue/dist/vue.common
,它将正确呈现:
https://swagger.io/docs/specification/data-models/data-types/
但是,如果我导入vue/dist/vue
或b-navbar-nav
,则会错误地呈现:
https://codesandbox.io/s/vue-template-77mzg
此外,globalThis
等其他组件也不会发生这种情况。无论我导入的vue构建如何,它们都能正确渲染。
我想了解为什么会这样,因为我需要导入一个包含编译器的vue版本,因为某些组件需要它。
谢谢!
答案 0 :(得分:1)
在导入Vue的特定变体时(即commonjs vs ES),您需要在webpack中设置alias
,以确保BootstrapVue(以及其他依赖项,例如PortalVue)使用相同版本的Vue(与BootstrapVue也从vue
导入)。
请参阅有关设置别名的文档(因此您可以import Vue from 'vue'
):
https://bootstrap-vue.js.org/docs#aliasing-vue-import
即用于Webpack配置
module.exports = {
// ...
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js'
}
}
}