LoginSignup
0
2

More than 5 years have passed since last update.

TypeScriptを使うために型定義を準備する

Last updated at Posted at 2017-06-04

electronを使ってみようと思っているのだが、
その準備としてnode.jsとTypeScriptの勉強をすることに。

  1. バージョン管理のためにnodistをインストール
  2. Node.jsのインストール
  3. TypeScriptのインストール
  4. 型定義の準備
  5. 使ってみる

環境 windows10 CreatersUpdate

1. バージョン管理のためにnodistをインストール

nodistはNode.jsのバージョン管理をするツール。
以下からダウンロードしてインストール
https://github.com/marcelklehr/nodist/releases

コマンドプロンプトから

nodist -v

を実行してバージョンが表示されればOK

2. Node.jsのインストール

インストールできるバージョンの確認

nodist dist

偶数バージョン(安定版)の最新バージョン(2017/06/04現在) v6.10.3をインストールする。

nodist + v6.10.3

インストールされたバージョンの確認

node -v

3. TypeScriptのインストール

npm install -g typescript

これだけで終わり
"-g"はグローバルでインストールするという意味。

4. 型定義の準備

TypeScriptの型定義管理ツールtypingsをインストール
TSDは非推奨みたい。

npm install -g typings

5. 使ってみる

5.1. 型定義をインストールする

typings install dt~node --global --save

--saveを付けておくとpackage.jsonみたいなのを作ってくれるので
別環境で動作させたいときなどに

typings install

でまとめてインストールできる

サンプル

hello_typescript.ts
///<reference path="./typings/index.d.ts"/>
import http = require("http");
class Main
{
    constructor()
    {
        var server = http.createServer((request:http.ServerRequest, response:http.ServerResponse) => this.requestHandler(request, response));
        server.listen("8080");
    }

    /*
    * サーバーにリクエストがあった時に実行される関数
     */
    private requestHandler(request:http.ServerRequest, response:http.ServerResponse):void
    {
        response.end("Hello! Node.js with TypeScript");
    }
}
var main:Main = new Main();

5.2. コンパイルする

tsc hello_typescript.ts --module commonjs

と思ったらなんかいっぱいエラーが出た。
結局以下のような原因だった。

TypeScriptの1.6.2が入ってるはずなのにtsc --versionが1.0.3.0を返したら
http://kiyokura.hateblo.jp/entry/2015/10/13/224800

ということで環境変数から
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
を削除して再度コンパイル
error TS2688: Cannot find type definition file for 'node'.
とか出ているがとりあえずコンパイルはできたみたい。

一応解決のためにtypesをインストールすればいいのかと思ったらエラー増えたので、とりあえずアンインストールしたらエラーメッセージが出なくなったという謎。見なかったことにしておこう。

npm install @types/node --save
npm uninstall @types/node --save

5.3. 実行する

node hello_typescript.js

http://localhost:8080/ にアクセスして以下のように表示されたら成功

Hello! Node.js with TypeScript

追記
typesというものがあったようです
https://qiita.com/tonkotsuboy_com/items/634b0921b6170cf56813

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2