bootstrap-vue的`b-tabs`呈现的方式有所不同,具体取决于我导入的Vue构建

时间:2019-07-23 06:26:05

标签: vue.js bootstrap-vue

我正在使用bootstrap-vue,并且我注意到vue的渲染方式取决于导入的Vue版本:

如果我导入vue/dist/vue.common,它将正确呈现: https://swagger.io/docs/specification/data-models/data-types/

但是,如果我导入vue/dist/vueb-navbar-nav,则会错误地呈现: https://codesandbox.io/s/vue-template-77mzg

此外,globalThis等其他组件也不会发生这种情况。无论我导入的vue构建如何,它们都能正确渲染。

我想了解为什么会这样,因为我需要导入一个包含编译器的vue版本,因为某些组件需要它。

谢谢!

1 个答案:

答案 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'
    }
  }
}