Я пытаюсь создать библиотеку компонентов vuejs в машинописном тексте с помощью vue-class-component и vue-property-decorator со следующими требованиями:
- Компоненты библиотеки должны быть написаны в машинописном стиле класса.
- Компоненты библиотеки должны быть экспортированы как модули es6, чтобы разрешить создание деревьев в проекте.
Для библиотеки я использовал последнюю версию @ vue / cli для создания проекта. Внутри этого библиотечного проекта компоненты работают просто отлично.
Приложение, с другой стороны, использует webpack-setup, и здесь я хочу использовать vue-компоненты.
Обычно, когда я хочу создать библиотеку на основе машинописи в es6, я использую tsc для переноса ts-файлов в es6 js-файлы. Но, следуя этому подходу, компоненты не знают шаблонов.
Есть ли способ объединить 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