Есть проект, который используется как npm пакет. Он поставляет компоненты, написанные на базе Primevue.
Экспорт библиотеки (двух компонентов):
//index.js
export const UiKitPlugin = {
install: (app, options) => {
app.component('InnoDropdown', InnoDropdown);
app.component('InnoAccordion', InnoAccordion);
},
};
Далее уже в другом проекте мы можем его подключить посредством скачивания его из репозитория через команду:
npm i @webdev/inno-ui-kit.
(репозиторий удаленный, гитлабовский)
В этом проекте в файле App.vue подключаем либу:
import { InnoAccordion, InnoDropdown } from '@webdev/inno-ui-kit';
Однако для работы этих компонентов нужно отдельно подрубать еще и Primevue в месте, где маунтится приложение:
import PrimeVue from 'primevue/config';
app.use(PrimeVue);
Причём Primevue является зависимостью и устанавливается вместе с командой
npm i @webdev/inno-ui-kit.
И кладётся в node_modules рядышком с @webdev/inno-ui-kit
Вопрос в следующем: как сделать так, чтобы отдельно не подрубать Primevue, но чтобы он уже использовался в компонентах? Следующий код не работает (по идее и не должен):
export const UiKitPlugin = {
install: (app, options) => {
app.use(PrimeVue);
app.component('InnoDropdown', InnoDropdown);
app.component('InnoAccordion', InnoAccordion);
}
}
Однако, мне действительно нужно решение похожее на то, что выше.