@sawuer

Vue: как подключать кастомную ui-либу с заранее предустановленным пакетом?

Есть проект, который используется как 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);
}
}

Однако, мне действительно нужно решение похожее на то, что выше.
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы