2018年2月20日火曜日

Visual Studio Code上でExpress*TypeScriptを利用する

Visual Studio Code上でトランスパイルされたjs上だと型情報などが見れるがtsファイルだと見れない問題に対応する。
といいつつVisual Studio Codeはあんまり関係なかったり



インストールした時にnode_modules/xxxx以下にxxxx.d.tsファイルがある場合はTypeScript対応済み。
ない場合はtypesパッケージというものを使用すればいいらしい。

https://github.com/DefinitelyTyped/DefinitelyTyped


以下nodeとexpressの型情報をインストール
npm install -D @types/node
npm install -D @types/express

あとは必要に応じて追加
メジャーなものはだいたいあるはず


以下のように書き換える

// const express = require("express")
// ↓
// import express from "express" コンパイルは透が実行時エラーになる
// import * as express from "express"


// const fs = require("fs")
// ↓
import * as fs from "fs"


Expressでかんたんなルーティング
import * as express from "express"
import * as fs from "fs"
{
  const router = express.Router()

  router.get("/", (req, res, next) => {
    res.send("test")
  })
}


最近のTypeScriptはほぼほぼ型ありでいけるようになってる模様