TypeScriptの環境をどう用意する?
by
Manato KOBAYASHI
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
TypeScriptの環境 どう用意する? BEENOS株式会社 小林真成翔
Slide 2
Slide 2 text
目次 ● そもそも自前で用意する? ● 基本はtsc ● 楽にTypeScriptを実行したい ● 私的にはこう使うと良さげ?
Slide 3
Slide 3 text
● 名前:小林真成翔(MANATO) ● ステータス:社会人1年目 ● 趣味:旅行、お酒 ● 最近触っている、興味がある ○ Remix ○ laravel ● Typescript歴 ○ 1年くらい @kobakob17177335 自己紹介
Slide 4
Slide 4 text
そもそも自前で用意する? フレームワークに任せればよし!
Slide 5
Slide 5 text
解決!
Slide 6
Slide 6 text
とはいっても ● 特殊な環境 ○ Google App Scipt ● 既存プロジェクトへの導入 ● CLIツールの開発 ● 動作検証
Slide 7
Slide 7 text
こういうとき どうしたら良い?
Slide 8
Slide 8 text
基本はtcsでJavaScriptにコンパイル ● 実行まで 1. 型チェック 2. 型情報を削除 3. トランスパイル 4. JavaScriptを実行 遅い!! 面倒!!
Slide 9
Slide 9 text
開発時はもっと 楽したい!!
Slide 10
Slide 10 text
楽にTypeScriptを実行したい ● tsx(TypeScript Execute) ○ コンパイルなしで直接実行可能 ○ メリット ■ 実行早い ■ ESM / Common両方ともOK ○ デメリット ■ JavaScript生成はできない
Slide 11
Slide 11 text
楽にTypeScriptを実行したい ● Node.js ○ v22.6.0からTypescriptを直接実行可能 ○ TypeScriptの構文を空白に置き換えて実行
Slide 12
Slide 12 text
楽にTypeScriptを実行したい ● Node.js ○ 制約 ■ TypeScript -> JavaScriptへトランスパイルはで きない ■ Enum / decorator / parameter property ● --experimental-transform-typesフラグ ■ import/requireで拡張子を除外できない
Slide 13
Slide 13 text
楽にTypeScriptを実行したい TypeScript独自の構文を使用した時 (Parameter Property)
Slide 14
Slide 14 text
楽にTypeScriptを実行したい 拡張子なしでモジュールをインポート時
Slide 15
Slide 15 text
楽にTypeScriptを実行したい ● Node.js ○ メリット ■ ライブラリとか不要なので導入楽 ■ 公式提供なので壊れるとかない ○ デメリット ■ トランパイルできない ■ 型チェック甘くなりがち
Slide 16
Slide 16 text
楽にTypeScriptを実行したい ● Deno ○ tsconfigなしでTypeScriptを実行可能 ○ メリット ■ 一番楽なのでは ○ デメリット ■ 既存Node.jsのPJに導入はキツそう? ■ ライブラリによっては動かない?
Slide 17
Slide 17 text
私的にはこう使うと良さげ? ● BEアプリケーション ○ 新規開発: tsx&tsc / Deno ○ 既存PJ:tsx&tsc ● CLI系やちょっとしたツール ○ Deno / Node.js
Slide 18
Slide 18 text
私的にはこう使うと良さげ? ● Frontendアプリケーション ○ MinifyやBundle、Tree-shaking ○ マルっとやってくれるビルドツール ■ esbuild / Rollup / Rolldown ● GAS ○ グローバルスコープ対応&ES5対応 ○ IIFEとかでビルドする必要あり
Slide 19
Slide 19 text
ご清聴ありがとうご ざいました!!