Организовать регистрацию Vue глобальных компонентов в Vue 3 - PullRequest
0 голосов
/ 05 августа 2020

В Vue 2 вы можете глобально зарегистрировать компоненты в нескольких файлах, используя следующий код в index. js, не увеличивая main. js file

import Vue from 'vue'
import MyComponent from '@/components/MyComponent'

Vue.component('my-component-name', MyComponent)

И в main. js файл используйте

import '@/components'

Но этот метод, похоже, не работает для меня в Vue 3

main. js

import { createApp } from 'vue';
import '@/components'

const app = createApp({});

app.mount("#app");

index. js

import Vue from 'vue' // doesn't work with import { createApp } from 'vue' too
import MyComponent from '@/components/MyComponent'

Vue.component('my-component-name', MyComponent)

Как добиться того же результата в Vue 3?

1 Ответ

2 голосов
/ 05 августа 2020

В Vue 3 нет глобальной регистрации. Все привязано к определенному приложению.

Таким образом, самое близкое, что вы можете получить, это:

const app = createApp({});

app.component('my-component-name', MyComponent)

app.mount("#app");

Вам нужно будет решить лучший способ передать соответствующие биты между вашими двумя файлами. Например, вы можете сделать index.js плагином.

RF C: https://github.com/vuejs/rfcs/blob/master/active-rfcs/0009-global-api-change.md

...