Я делаю библиотеку Vue в виде пакета NPM, который предназначен для использования другими проектами.
Точка входа - main.ts
, которая предоставляет плагин и некоторые функции, которые Я обычно использую. Упрощенный пример main.ts
:
import Vue from 'vue'
import Button from '@/components/button.vue'
const myPlugin = {
install (vue: typeof Vue): void {
vue.component('the-button', Button)
}
}
function someFunction(a: number, b: number) {
return a + b
}
export { myPlugin, someFunction }
Я строю проект, используя vue-cli-service build --target lib --name myLibrary src/main.ts
.
Теперь к моему вопросу; как правильно указать и / или сгенерировать набор текста? Насколько я вижу, есть два варианта:
Установить "typings": "src/main.ts"
в моем package.json
и использовать сами файлы .ts в качестве ссылок на типы. Кажется, работает, но я не видел примеров использования этого, поэтому я предполагаю, что это плохая практика?
Установите "declaration": true
и "outDir": "types"
в моем .tsconfig.json
. Наряду с некоторые настройки в vue.config.js
, похоже, генерируются правильно, что я указал бы с "typings": "types/main.d.ts"
в пакете. json file. Это предпочтительный подход?