2015.02.28
TypeScriptをやるための環境をつくる

最近、筋肉痛が運動後2日後に来る佐藤です。
年齢には勝てないんでしょうか・・・・(泣)
さて、お勉強として、話題になってるTypeScriptをやってみようということで
環境構築してみました。
TypeScriptとは・・・という説明はググればいっぱい出てきますので、おいておきます。
前提
私はCentOS6を使用していつも開発しているので、こちらにインストールしていきます。
構築
まず、Node.jsとnpmパッケージをインストールします。
yumでインストールするには、EPELリポジトリにrpmパッケージがありましたので
このリポジトリを追加します
rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
Node.jsとnpmインストール
yum -y --enablerepo=epel install npm nodejs
inheritsのインストール
npm install -g inherits
TypeScriptのインストール
npm install -g typescript
TypeScriptのインストールが完了するとコンパイラのコマンドが実行できます。
tsc --help
これでとりあえず、試せる環境が整いました。
早速、TypeScriptのサイトのチュートリアル(http://www.typescriptlang.org/Tutorial)をやってみます。
いきなりページ後ろの方にあるgreeterのES6のclassの書き方をしてみます。
greeter.tsを作成 (TypeScriptだから拡張子tsですね。)
class Student {
fullname : string;
constructor(public firstname, public middleinitial, public lastname) {
this.fullname = firstname + " " + middleinitial + " " + lastname;
}
}
interface Person {
firstname: string;
lastname: string;
}
function greeter(person : Person) {
return "Hello, " + person.firstname + " " + person.lastname;
}
var user = new Student("Jane", "M.", "User");
document.body.innerHTML = greeter(user);
それで、このファイルをコンパイルしてみます!
tsc greeter.ts
すると、同階層にgreeter.jsが生成されました!
中身は以下のようになりました。
var Student = (function () {
function Student(firstname, middleinitial, lastname) {
this.firstname = firstname;
this.middleinitial = middleinitial;
this.lastname = lastname;
this.fullname = firstname + " " + middleinitial + " " + lastname;
}
return Student;
})();
function greeter(person) {
return "Hello, " + person.firstname + " " + person.lastname;
}
var user = new Student("Jane", "M.", "User");
document.body.innerHTML = greeter(user);
おおっ!JavaScriptがきれいに作られてますね。
では、このJSが動くかHTMLに記述してみましょう。
<!DOCTYPE html>
<html>
<head><title>TypeScript Greeter</title></head>
<body>
<script src="greeter.js"></script>
</body>
</html>
ブラウザでこのHTMLを確認すると

表示されました!!
最後に
とりあえず、インストール⇒コンパイル⇒表示までは出来ました。
実際は、エディタにシンタックスいれたり、補完いれたりでしょうか。
次は、実際にサイトで使った例を出せればと思います。