#14 TypeScriptで学ぶ外部ライブラリの基本
TypeScriptの外部ライブラリは、JavaScriptと同じnpmを使いますが、型情報の扱いに注意が必要です。この記事では、TypeScriptにおける外部ライブラリの使い方の基本と、型定義ファイルの仕組みを解説します。
npmでライブラリをインストールする
npm install axios
インストールしたライブラリの情報は、package.jsonという設定ファイルに自動的に記録されます。
型定義ファイルという仕組み
TypeScriptでライブラリの機能を安全に使うには、そのライブラリの「型定義ファイル」(.d.tsという拡張子のファイル)が必要です。ライブラリによっては、最初から型定義が同梱されていることもあれば、別途インストールが必要なこともあります。
npm install --save-dev @types/lodash
@types/から始まるパッケージは、型情報だけを提供する専用のライブラリです。--save-devを付けるのは、型定義は開発中のチェックにのみ必要で、実際に動くアプリには不要な情報だからです。
ライブラリを使う
import axios from 'axios';
axios.get('https://example.com').then(response => {
console.log(response.status);
});
型定義があるライブラリでは、response.まで入力した時点で、エディタが利用可能なプロパティ(statusやdataなど)を候補として表示してくれます。
型定義が無いライブラリを使う場合
どうしても型定義が用意されていないライブラリを使う必要がある場合、自分で最小限の型を宣言する方法もあります。
declare module 'some-untyped-library' {
export function doSomething(input: string): void;
}
ただし、この方法は宣言した型が実際のライブラリの動作と食い違うリスクもあるため、まずは@types/パッケージが存在しないか、npmで検索して確認するのが先決です。
TypeScriptならではの注意点
型定義が用意されていないライブラリを使おうとすると、エラーになったり、型のチェックが効かなくなったりすることがあります。ライブラリを選ぶ際は、TypeScript対応(型定義の有無)も確認するとよいでしょう。人気のあるライブラリほど公式で型定義を同梱している傾向にあるため、選定時の判断材料の1つにもなります。
まとめ
TypeScriptの外部ライブラリはJavaScriptと同じnpmで導入しますが、型定義ファイル(@types/を含む)の有無を意識することが重要です。
本ページはプロモーションを含みます。
参考書籍(PR)
TypeScriptをもっと学びたい方には「プロを目指す人のためのTypeScript入門」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿