echo("備忘録");

IT技術やプログラミング関連など、技術系の事を備忘録的にまとめています。

【TypeScript】TypeScriptのインストールと各種環境設定

現在仕事でnode.jsを使用しており、「勉強も兼ねてTypeScriptを導入しよう!」と思い導入したので、その際のメモ。1

前提

参考ページ

packege.jsonの作成

  1. ターミナルソフト(「コマンドプロンプト」とか)を起動。
  2. package.jsonを作成したいフォルダ(アプリケーションのルートフォルダなど)にカレントフォルダを移動。
  3. 下記コマンドを実行。
> npm init
  • ここでは「npm init」の詳細は割愛。
  • 質問事項については、名前以外は「yes」にしておいてOK。(後で変更可能)

TypeScriptのインストール

  • ターミナルソフトで、インストール先フォルダをカレントフォルダにする。(package.jsonと同じで良いなら不要)
  • 下記コマンドを実行。
> npm install --g typescript

テストソースの作成

カレントフォルダに「test.ts」というファイルを作成し、下記ソースを書く。

class Student {
    fullName: string;
    constructor(public firstName: string, public middleInitial: string, public lastName: string) {
        this.fullName = firstName + " " + middleInitial + " " + lastName;
        console.log(this.fullName);
    }
}
  
let student = new Student('Leon', 'Scott', 'Kenedy');

その後、ターミナルソフトで下記コマンドを入力。

> tsc test.ts

問題なければ、下記の状態になるはず。

  • ターミナルにカレントフォルダのみが表示される。
  • カレントフォルダに、test.jsファイルが作成される

あとは、test.jsをnode.jsで実行し、下記結果が表示されればOK.

> node test  
Leon Scott Kenedy

その他

ブラウザ(クライアント)側javascript作成時の注意

もちろんTypeScriptでブラウザ側のjavascriptを作成することも可能。
ただしブラウザ側は、「node.jsの「require」(=TypeScriptの「import」)が使用できないため、そのままでは外部ファイルやライブラリをできない、という問題がある。

そこで、この問題を解決する必要があるが、その1つが「browserify」というモジュール。

これは、

  • require先のjsファイルの内容も、まとめて1ファイルにまとめてしまう、というモジュール。
  • require先jsファイルがさらにrequireしている..などの場合でも、依存関係のあるjsファイルをまとめて1つにしてくれる。
  • 結果、requireが不要になるので、ブラウザ側でもrequire先のjsdファイルを使用できる。

手順としては、

  • npmコマンドでインストールして、
> npm install -g browserify
  • 統合先のjsファイルを「-o」オプションで指定して、
> browserify test.js -o bundle.js
  • 最後に、作成された統合先のjsファイルをHTMLなどに埋め込めばOK。
> <script src="bundle.js"></script>
  • 大元のjsファイル(色々requireしているファイル)を「test.js」とします。
  • 統合先ファイルに命名ルールはないですが、通例として「bundle.js」とするようです。

※もちろん、「browserify」以外にも対応策はいろいろありますので、興味があれば探してみてください。

型定義ファイルの作成

「型定義ファイル」とは、

  • 「各種モジュールをTypeScriptで使用可能にする」ためのファイル。
  • Javascriptで記載されてるモジュールを、TypeScriptに変換するためのもの。
  • 型定義ファイルを用意すると、VSCodeでインテリセンスなどが使用可能になる。
  • 型定義ファイルは、下記のコマンドでインストール可能。
> npm install -save @types/(モジュール名) 

※各モジュールの型定義ファイルのインストールコマンドは、下記サイトで検索可能です。

tsconfig.jsonの設定(2019/5/5追記)

tsconfig.jsonとは、

  • TypeScriptや、そのコンパイル時の各種設定を定義するためのファイル。
  • プロジェクトのルートフォルダ(=package.jsonと同じ場所)に保存することで、設定が有効になる。
  • tsconfig.jsonを作成するには、プロジェクトのルートフォルダで下記コマンドを実行すればOK。
> tsc --init 
定義 説明
module モジュール関連のコードをどの方式として扱うか(Common.js, umdなど)
target JavaScriptのバージョン(ES5, ES2015など)
noImplicitAny 型未定義の変数などをエラーとするか(trueならエラー、falseならany型にする。)
strict 型厳格な方チェックを行うか(trueなら実施する。)
outDir コンパイル後のjsファイルの保存先フォルダ(未指定ならtsconfig.jsonがあるフォルダ)
rootDir tsファイルの保存先のルートフォルダ(未指定ならtsconfig.jsonがあるフォルダ)
esModuleInterop common.jsモジュールとESモジュール互換的に扱えるようにするかどうか
strictNullChecks nullやundefinedのチェックを厳格にする(number型の初期値にnullを代入不可、など)
sourceMap souuceMapを作成するかどうか(TypeScriptコード上でブレークポイント設定など、デバッグ可能になる)
exclude tsファイルの保存先として除外するフォルダ(ここで指定したrootDir以下の全フォルダ内の*.tsファイルが、コンパイル対象になる)

とりあえず、今回はこの辺で。


  1. 仕事ではjavascriptを直で書いてます。