Vue3 搭配 Jest 和 TypeScript,若要測試 Vue 元件內部的 computed 型別,在使用 <script setup> 語法糖時,便會遇上型別無法抓取到的錯誤。這邊筆記下原因和解決方法。
內容
由於 <script setup> 預設是封閉的,亦即不會對外暴露任何的變數和內容。換言之,這也影響到內部的變數型別無法被抓取到。因此,可以透過 defineExpose 的方法,將內部的變數視情況對外即可。這樣子,TypeScript 的編譯也就可以順利通過了。
參考資料
1. Testing vue3 computed properties with TypeScript SFC
2. Vue3 <script setup>