Javascript Vue2:如何从已编译的单个文件组件注册组件?

Javascript Vue2:如何从已编译的单个文件组件注册组件?,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我不熟悉Vue2和单文件组件 我有一些通过汇总编译的复杂组件 e、 g /src/components/a.vue 它们一起在build/main.js中结束,我将源代码输入到我的项目中 我的项目不是全视图应用程序 如果我想在我的应用程序中使用ComponentA或ComponentB,我是否总是需要执行以下操作: var foo=10; var合规性=新Vue({ el:“#this-comp-b-instance”, 组件:{myMod.ComponentB}, 数据:函数(){ //在此

我不熟悉Vue2和单文件组件

我有一些通过汇总编译的复杂组件

e、 g

/src/components/a.vue 它们一起在build/main.js中结束,我将源代码输入到我的项目中

我的项目不是全视图应用程序

如果我想在我的应用程序中使用ComponentA或ComponentB,我是否总是需要执行以下操作:

var foo=10;
var合规性=新Vue({
el:“#this-comp-b-instance”,
组件:{myMod.ComponentB},
数据:函数(){
//在此范围之外定义的数据
福:福
},
模板:``
})

或者有没有一种方法可以让我只编写

您可以使用vue cli 3将要使用的组件编译为web组件(),并直接包含这些组件-如果这是您的选项。使用,然后注册您的组件,如
vue.component(myMod.ComponentB)
,然后您可以在应用程序中直接使用它。
<template>
  ....
</template>

<script>
  export default {
    ...
  }
</script>
<template>
  ...
  <ComponentA/>
  ....
</template>

<script>
  import ComponentA from './a'
  export default {
    ...
    components: {
      ...,
      ComponentA,
      ...
    },
    ...
  }
</script>
var foo = 10;
var compBInstance = new Vue({
     el: '#this-comp-b-instance',
     components: {myMod.ComponentB},
     data: function() {
       // data defined outside of this
       foo: foo
     },
     template: `<ComponentB :foo='foo'/>`
})