この記事はTypeScriptに興味があるけど、何から始めていいのかわからない。
そんな時に、「とりあえず動かす」ことを目的とした入門編です。
私自身初めてTypeScriptを触った時の記事です、備忘録みたいな。
実験環境
下記の環境で実験しました。
- Windows 10
- npm 6.6.0
- TypeScript 3.2.4
事前に必要なこと
npmが必要です、事前にインストールしてください。
TypeScript用のエディタがあれば便利かもしれません、簡単な動作確認なので私はメモ帳で書きました。
TypeScript導入(インストール)
TypeScriptコンパイラ
コマンドプロンプトを起動して下記のコマンドを実行。
>npm install -g typescript
インストール確認
インストールされているか確認します、Versionが表示されればOK。
>tsc -v
Version 3.2.4
Hello world
実際に簡単なTypeScriptを書いてコンパイルして実行してみましょう。
作業ディレクトリ作成
TypsScript(.ts)プログラムを置くディレクトリを作成します。
>mkdir tsc_test
プログラム作成
作成したディレクトリ(tsc_test)の中に下記のTypeScriptプログラムを配置します。
hello.ts
const message:string = "Hello! World!";
console.log(message);
コンパイル
hello.tsプログラムがあるディレクトリで下記のコマンドを実行します。
>tsc hello.ts
コンパイルがエラー無く終わると、hello.jsというJavaScriptファイルができています。
TypeScriptのhello.tsからJavaScriptのhello.jsが作成されました。
実行
コンパイルして出来上がったhello.jsを実行します。
今回はnodeで実行します。
>node hello.js
Hello! World!
「Hello! World!」が表示されたでしょうか?
ここまでがTypeScriptの導入・作成・コンパイル・実行のとりあえずの流れです。
まぁ、これくらいならJavaScript直接書いたほうが楽でしょうけど。
ただ、基本的な流れは押さえられたと思います。
TypeScriptでコードを書いて、コンパイルでJavaScriptにして実行です。
ちょっと実践編
初めてのTypeScript入門編としてチュートリアル的な簡単な流れを説明しました。
しかし、このままではTypeScriptコンパイル必要なのか、めんどくせー。
「JavaScript直接書いたほうが早くない?」「動かせたけど実践で使えるの?」なんて声が聞こえてきそうです。
私もまだ始めたばかりの初心者なので詳しいことは難しいですが、もうちょっと実践で使えそうなことを書きます。
自動コンパイル
やっぱり気になるのが、わざわざ毎回コンパイルしないといけないことです。
めんどくさいので、tsファイルを編集したら自動でjsファイルにコンパイルする設定をします。
package.jsonの作成
TypeScriptのプロジェクトフォルダに移動して下記のコマンドを実行します。
-yオプションを付けるとめんどくさい問い合わせをなしにできます。
>npm init -y
実行するとpackage.jsonファイルが作成されます。
{
"name": "tsc_test",
"version": "1.0.0",
"description": "",
"main": "hello.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
これを下記のように変更します。
{
"name": "tsc_test",
"version": "1.0.0",
"description": "",
"main": "hello.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc",
"watch": "tsc -w"
},
"keywords": [],
"author": "",
"license": "ISC"
}
tsconfig.jsonの作成
TypeScriptのプロジェクトフォルダで下記のコマンドを実行します。
>tsc --init
message TS6071: Successfully created a tsconfig.json file.
ごちゃごちゃ書かれたtsconfig.jsonができますが、ほとんどコメントなので必要なものだけ残します。
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./dist/js",
"rootDir": "./src/ts",
"strict": true,
"esModuleInterop": true
}
}
outDirはJavaScriptを出力するディレクトリ、rootDirはTypeScriptを配置するディレクトリです。
ディレクトリ構成を整える
プロジェクトディレクトリの下にTypeScriptやらJavaScriptなどを、ずらずらと並べてはエレガントではありません。
ディレクトリ構成を整えます。
tsc_test
├dist/
│└js/
├src/
│└ts/
│ └hello.ts
├package.json
└tsconfig.json
src/tsの下にTypeScriptの.tsファイルを作成します。
コンパイル後はdist/jsの下に.jsファイルができます。
自動コンパイル実行
プロジェクトフォルダ(package.json)がある場所で下記のコマンドを実行します。
>npm run watch
tsc -wが実行されます。
これでsrc/tsのhello.tsがコンパイルされ、dist/jsにhello.jsが作成されます。
tsc -wが実行されている間はTypeScriptのhello.tsが変更されると自動的にhello.jsが更新されます。
終了する時は「Ctrl + c」を押すと止まります。
まとめ
初めてのTypeScript入門編でチュートリアル的に初歩的な内容をまとめました。
しかし、旅は始まったばかりです、やっとTypeScriptの世界に1歩踏み入れた段階です。
いや、「ナイフとランプ鞄に詰め込んだ」だけかもしれません。
共に頑張っていきましょう!