next@8.1.1より@zeit/next-typescriptを使わずにいけるようになりました。Next プロジェクトルートにtsconfig.jsonを起き以下を設定します。

{
  "allowJs": true,
  "skipLibCheck": true,
  "forceConsistentCasingInFileNames": true,
  "noEmit": true,
  "resolveJsonModule": true,
  "isolatedModules": true,
  "jsx": "preserve"
}

これらは Next 側で強制的に上書きされてしまうので上記のまま使うようにします。

あとはそのままページを.tsxで書いていくだけです。

いくつかの記法が使えない

以下の記法を使うとエラーになります。(babelが対応してない?)

  • const enum

  • namespace

注意

declare module '<package-name>' とそれを参照するtypesRoottsconfig.jsonに設定してしまうと、「そんなモジュールない」というエラーが起きてしまうようです。

JavaScript で飯食べたい歴約 5 年、 純( nju33 ) によるノートサイトです。

このサイトではドリンク代や奨学金返済の為、広告などを貼らせて頂いてますがご了承ください。

Change Log