Как собрать библиотеку vue-компонентов es6 с использованием vue-class-component

Я пытаюсь создать библиотеку компонентов vuejs в машинописи с помощью vue-class-component и vue-property-decorator со следующими требованиями:

  • Компоненты библиотеки должны быть написаны в машинописном стиле.
  • Компоненты библиотеки должны быть экспортированы в виде модулей es6, чтобы разрешить согласование деревьев в проекте.

Для библиотеки я использовал самую последнюю версию @ vue / cli для создания проекта. Внутри этого библиотечного проекта компоненты работают просто отлично.

Приложение, с другой стороны, использует webpack-setup, и здесь я хочу использовать vue-компоненты.

Обычно, когда я хочу собрать библиотеку на основе машинописи в es6, я использую tsc для преобразования файлов ts в файлы js es6. Но, следуя этому подходу, компоненты не знают шаблонов. Есть ли способ объединить tsc с vue-template-compiler?

Я нашел другой способ сделать эту работу, но я не удовлетворен таким подходом:

я использовал "vue-cli-service build --target lib --name vue-lib ./src/index.ts" Таким образом, служба vue-cli-service создаст umd-bundle и commonjs-bundle, как указано здесь в документации. В проекте я могу использовать компонент с //@ts-ignore утверждение выше. Поэтому я теряю объявления и компоненты не в синтаксисе es6:/

Чтобы лучше понять проблему, которую я имею, я создал минимальный пример на github, который вы можете найти здесь:

Библиотека: https://github.com/Sh4bbY/vue-lib

Приложение: https://github.com/Sh4bbY/vue-project

0 ответов

Другие вопросы по тегам