🍺 HELP NEEDED
🍺🍺 Pivo za pomoc! 🍺🍺
Dokážeš mi poradit?
Nevím, jakým způsobem vyeexportovat Vue.js komponenty z mé knihovny megio-panel
tak, aby PHP Storm či jakékoli jiné
IDE dokázalo našeptávat props
, emits
, slots
a další vlastnosti - jako je tomu například u knihovny Vuetify viz
následující obrázek.
Vuetify našeptává správně:
Zde lze vidět, že Vuetify napovídá všechny možné vlastnosti, které mohou být použity u komponenty VBtn
.
Megio našeptává jen částečně:
Zde lze vidět, že megio-panel napovídá pouze vlastnosti obecné Vue komponenty, nejsou tam tedy veškeré vlastnosti,
které by tam měly být. Zejméná zde chybí loading
prop, jenž je typu ?boolean
.
Co nedává smysl?
1. Paradox - IDE zná loading
prop:
Zde lze vidět, že PHP Storm zná loading
prop a dokonce i jeho typ boolean
, ale přesto ho nenapovídá.
2. Paradox - IDE zná loading
prop i v template:
Záměrně jsem do propu loading
vložil integer namísto boolean :loading="1"
a PHP Storm to označil jako chybu - což
je správně a IDE tedy tento prop poznává - nechápu tedy, proč ho to nenapovídá.
Co jsem zkoušel?
Možná si myslíš, že to způsobuje použití přes useComponents()
- toto ale není problém. Zkoušel jsem komponenty
vyexportovat i tak, aby se useComponents()
nemuselo používat - import pak probíhal napřímo, stejně jako to dělá
Vuetify.
import { Layout } from `megio-panel`
Ale ani to nepomohlo.
Kde si myslím, že je problém?
Nejspíše je problém někde v konfiguraci tsconfig.json
nebo vite.config.ts
či ve způsobu buildu knihovny.
Výsledný build k prozkoumání lze projít přímo na NPM:
https://www.npmjs.com/package/megio-panel/v/0.8.12?activeTab=codeKód knihovny je na GitHubu:
https://github.com/strategio-digital/megio-panel/Lze to rozjet i lokálně:
V tomto readme je krátký návod, jak knihovnu rozjet lokálně. Je potřeba mít node a yarn.
Důležité soubory (GitHub)
- package.json
- tsconfig.json
- vite.config.ts
- src/components.ts
- src/index.ts
- tests/assets/panel/view/user/ReadAll.vue
🍺 Dokážeš mi poradit?
Pokud máš nějaký nápad, jak to vyřešit, budu rád za jakoukoli pomoc a pozvu tě na pivo! 🍺🍺🍺
Kontakty: