@RokeAlvo

Как импортировать типы из библиотеки vue?

Есть проект библиотеки:

//package.json
{
  "name": "rokealvo-lib",
  "version": "0.1.0",
  "private": true,
  "main": "dist/rokealvo-lib.common.js",
  "scripts": { 
    "build": "vue-cli-service build --target lib --name rokealvo-lib src/lib.ts",
  },
}


//src/lib.ts
import Input from "@/components/VInput.vue";
import Button from "@/components/Button.vue";
import Complex from "@/components/VComplex.vue";

export const VInput = Input;
export const VButton = Button;
export const VComplex = Complex;


Все в принципе работает, но в месте использования нет информации ни о библиотеке, ни о самих компонентах 60f2e2733c417074085651.png

Как настроить сборку библиотеки?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Увы, vue-cli из коробки это не умеет. И когда последний раз смотрел в эту сторону(пару лет назад) - плагинов для этого тоже не было. 2 года - это долго, так что рекомендую погуглить.)

Но тут ещё одна загвоздка, о которой тоже надо заранее позаботиться: тип импортированных файлов .vue по умолчанию просто Vue, без конкретизации свойств и прочего. Чтобы были нормальные ts-типы их надо отдельно генерировать. Для этого есть либа vuedts, она не идеальна, но свою работу делает.
Если не найдёшь готовых решений - можешь чтот-то своё с этой либой намутить.)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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