このタイミングで Vue.js に TypeScript を導入するには?
by
Toru Eguchi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
このタイミングで Vue.js に TypeScript を導入するには? 2019/09/04 江口 徹
Slide 2
Slide 2 text
江口 徹 (@egurinko) ● ギフティ入社3ヶ月と21日目 ● 前職は、KDDI で インフラ → ウェブ ● 大学の頃は、VR 自己紹介
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
お話しすること 03 04 01 02 自己紹介 きっかけ 今、最適な Vue × TS のスタイル TS 化の注意点
Slide 5
Slide 5 text
お話ししないこと Vuex の型づけ Express との型づけ GraphQL × TS React × TS 筋トレメニュー
Slide 6
Slide 6 text
なぜ、今 Vue と TypeScript ? オフィス環境を監視するIoT アプリに TSを導入したかった
Slide 7
Slide 7 text
Vue × TypeScript に2つスタイル があるらしいけど、、
Slide 8
Slide 8 text
Class Style or Object Style ? decorator Vue.extend()
Slide 9
Slide 9 text
Vue 2.5 以前は、Class Style 一択 any
Slide 10
Slide 10 text
Object Style の改善(Vue 2.5 以降) ● this が推論される ● Props に型もつけられ る
Slide 11
Slide 11 text
Vue3.0 RFCs の中での一コマ ● クラススタイルが 正式にドロップ通告 ● しばらくして、方針転換 ● 最新アップデートに ついていけないかも
Slide 12
Slide 12 text
比較 読みやすさ 公式サポート TSとの連携 圧倒的に Object Style Class Style の扱いがいまいち Vue2.5 以降、Class Style との 遜色がなくなってきた Object Style を選択し、Vue3.0 に備えるべき
Slide 13
Slide 13 text
Object Style (Vue.extend) の注意点
Slide 14
Slide 14 text
よくある投稿
Slide 15
Slide 15 text
原因1:“noImplicitThis”: true false の状態では、 this = any になってしまい推論効かず
Slide 16
Slide 16 text
原因2:computed の戻り値に型付いてない annotation 必須
Slide 17
Slide 17 text
なんで computed の annotation が this に影響?
Slide 18
Slide 18 text
なんで computed の annotation が this に影響? { name: string }
Slide 19
Slide 19 text
なんで computed の annotation が this に影響? { greeting: string }
Slide 20
Slide 20 text
なんで computed の annotation が this に影響? { greet: void }
Slide 21
Slide 21 text
なんで computed の annotation が this に影響? { name: string } { greeting: string } { greet: void } Vue
Slide 22
Slide 22 text
なんで computed の annotation が this に影響? { name: string } { greeting: string } { greet: void } Vue
Slide 23
Slide 23 text
Vue.extend の注意点 noImplicitThis: true にしてね 01 computed には annotation をつけてね 02
Slide 24
Slide 24 text
ありがとうございます TS 化後の IoT アプリは↓