قالب آمادهٔ ساخت پلاگین Vue 3
خلاصهٔ کاملتر
نوشتن خود پلاگین Vue معمولاً سخت نیست؛ چیزی که وقت میبره ساختن محیط دور و برشه. تو توضیحات این مخزن اومده که vue-plugin-template دقیقاً همین قسمت رو حل میکنه: یه پروژهٔ آمادهٔ Vue 3 با TypeScript که تست، لینت، بیلد و CI توش از قبل وصل شده و فقط کافیه اسم و محتواش رو عوض کنی.
قلب هر پلاگین Vue همون تابع install هست که Vue موقع app.use صداش میزنه. تو نمونهٔ تمپلیت سه کار رایج کنار هم نشون داده شده: ثبت سراسری کامپوننت، اضافه کردن متد سراسری روی globalProperties، و provide کردن داده تا بعداً تو کامپوننتها inject بشه.
import type { App, Plugin } from 'vue'
const MyPlugin: Plugin = {
install(app: App, options: MyPluginOptions = {}) {
app.component('MyComponent', MyComponent)
app.config.globalProperties.$myPlugin = { /* your global methods */ }
app.provide('myData', someData)
}
}برای تایپها هم راهحل داده: با declare module روی @vue/runtime-core و اینترفیس ComponentCustomProperties، اون متد سراسریای که اضافه کردی تو ادیتور شناخته میشه و autocomplete میگیری. کنارش composableها تو پوشهٔ src/composables میشینن و همون الگوی آشنای ref و computed رو دارن.
مسیر انتشار هم مرحلهبندی شده: package.json رو پر کن، بیلد بگیر، تست بزن، لاگین کن و publish. اسکریپت prepublishOnly خودش قبل از انتشار بیلد رو اجرا میکنه تا نسخهٔ قدیمی روی npm نره. تو README هم پیشنهاد شده بعد از انتشار، پلاگین رو تو vue-plugins.org هم ثبت کنی تا بیشتر دیده بشه. لایسنس پروژه MIT هست.
نکات کلیدی:
- Vue 3 بهعلاوهٔ TypeScript با یه playground محلی برای تست حین توسعه
- تست با Vitest و Vue Test Utils، لینت با ESLint و Prettier
- پایپلاین GitHub Actions از قبل آمادهست
- تایپ متدهای سراسری با declare module روی @vue/runtime-core
- اسکریپت prepublishOnly قبل از npm publish خودکار بیلد میگیره
- لایسنس MIT




