アプリを作ることができます。使うとコードの品質を高めることができ、また複数人やチームでの開発生産性を向上させることができます。導入する方法を紹介します。ベースアプリを作るで、Nuxt.jsを使ったPWAのベースアプリを作りました。導入することで変数や関数に型定義が行えるようになり開発生産性や保守性を向上できます。今回のベースアプリはゼロから作っているので最初から入れてしまうのがよいでしょう。できるところから適用していく段階的な利用も可能です。そのような観点からも入れてしまうのがよいでしょう。本記事の開発環境は以下となります。メリットといえるでしょう。以下のようなコードがあったとします。単純な足し算を想定したコードですが、型がないので引数に任意の値を投入できます。その結果、戻り値が想定外になることもあります。以下のようになります。引数と戻り値に:numberで、数値型を明示します。それにより数値でない引数を渡している部分はコンパイルエラーとなり実行コード(JavaScript)が生成できません。'number'.基本的には型定義が入っただけで書いていることに変わりはありません。設定で、制約を強くしたり、甘くしたりできます。最初から使う場合はある程度強くできるでしょうし、途中から導入したり慣れていない場合などは徐々に強くしていくこともでき、状況に合わせて使えます。このぐらいの関数でしたら型がなくてもとくに問題ないかもしれませんが、もっと大きなものや他の人が書いたコードなどになってくると話が異なります。関数の引数が何を期待しているのか、戻り値は何が返ってくるのか、型情報があるだけでだいぶ変わってきます。イベントが東西で開催されます!抽選枠で、まだ応募可能です。開発をしてきたチームでした。開発するチームとなったのですが、その際の発表資料がこちらになります。よかったらご参照ください。サポートのモジュールを追加します。プロジェクトのディレクトリで下記コマンドを実行します。設定ファイルtsconfig.jsonを作成します。nuxt/nuxt.jsプルリクがリリースされるとtouchしなくても済みそうですが、2019年5月現在、まだ事前に作成が必要です。enabledが出ていることがわかります。tsconfig.jsonの内容が更新されます。ファイルをモジュールとして扱える定義resolveJsonModuleを追加します。これは追加したほうが便利なのと、後述のnuxt.config.tsでpackage.jsonを扱えるようにするためです。}}この定義は追加するプルリクと削除するプルリクが流れているようで、日付的には消すほうが最後なので自分で追加が必要そうです。そうで、フレームワークのポリシーや考え方ですね。書くためnuxt.config.jsファイルをnuxt.config.tsにリネームします。ファイルの内容、先頭と最後を以下のように変更します。'./package.json'の.jsonをつけ忘れないように注意します。このpackage.jsonを読み込むのに先ほどのresolveJsonModuleが必要でした。Spaceなどの入力補完が使えるようになります。今回はスクリプトベースで実装します。基本的な構文は下記です。Vue.extend({})</script>ベースアプリの/pages/index.vueは以下のようになります。拡張Veturを使っている場合/components/Logo.vueに以下の空実装コードを追加します。