Компонент
Vue, созданный с помощью vue -sf c -rollup , имеет эту часть кода установки, которую я не могу достичь.
// To auto-install on non-es builds, when vue is found
// eslint-disable-next-line no-redeclare
/* global window, global */
if ('false' === process.env.ES_BUILD) {
let GlobalVue = null;
if (typeof window !== 'undefined') {
GlobalVue = window.Vue;
} else if (typeof global !== 'undefined') {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
GlobalVue = (global as any).Vue;
}
if (GlobalVue) {
// ***********
//
// NEVER REACH
//
// ***********
(GlobalVue as typeof _Vue).use(plugin);
}
}
Я пробовал это
const global: any = window
global.Vue = Vue
или это
const global: any = window
const vm = new Vue({
render: (h): VNode => h(Dev),
}).$mount('#app');
global.Vue = vm
но глобальный vue недоступен в момент установки плагина
Я спрашиваю, потому что если я использую компонент класса в аддоне
@Component
export default class TheComponent extends Vue {
Тогда я получаю следующие предупреждения в основном приложении:
vue .runtime.esm. js
[ Vue warn]: $ attrs только для чтения.
[Vue warn]: $ listeners только для чтения.
Я думаю, это потому, что компонент установлен в другом экземпляре vue.
РЕДАКТИРОВАТЬ: конечно, я устанавливаю плагин таким образом
Vue.use(TheComponent)