概要
今回のブログポストでは React フレームワークであるNext.js
にTypeScript
を適用する方法について説明します。
- Next.js: https://nextjs.org/
- TypeScript: https://www.typescriptlang.org/
ここで紹介するソースコードは下記のリンクで確認できます。
ブログリスト
このブログポストはシリーズで作成されています。次はNext.js
のシリーズリストです。
- [Next.js] 始まる
- [Next.js] TypeScript
- [Next.js] Prettier
- [Next.js] 絶対パスでコンポーネント追加
- [Next.js] テスト
- [Next.js] Storybook
- [Next.js] Storybook のバックグラウンド変更
- [Next.js] 多言語
- [Next.js] MUI
既存プロジェクトに TypeScript を適用する
既存のJavaScript
ベースのNext.js
プロジェクトを使っている場合、次のように空のtsconfig.json
を生成します。
touch tsconfig.json
そして次のコマンドを実行してNext.js
プロジェクトを実行します。
npm run dev
その後、次のようにTypeScript
を設定する方法の案内が表示されます。
It looks like you're trying to use TypeScript but do not have the required package(s) installed.
Please install @types/react and @types/node by running:
npm install --save-dev @types/react @types/node
If you are not trying to use TypeScript, please remove the tsconfig.json file from your package root (and any TypeScript files in your pages directory).
そしたら、案内通り、次のコマンドを実行してTypeScript
に必要なライブラリをインストールします。
npm install --save-dev @types/react @types/node
その後、次のコマンドを実行してNext.js
プロジェクトを実行します。
npm run dev
そしたら、前と違ってプロジェクトがうまく実行されることが確認できます。
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
We detected TypeScript in your project and created a tsconfig.json file for you.
event - compiled client and server successfully in 1832 ms (125 modules)
また、tsconfig.json
ファイルを開いてみると、次のように自動で設定された内容が確認できます。
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve"
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
次は.js
ファイルを.tsx
または.ts
に変更して、TypeScript
を適用します。
新しいプロジェクトの生成
新しくNext.js
プロジェクトを生成する場合は、次のコマンドを実行してTypeScript
が適用されたNext.js
プロジェクトを生成します。
npx create-next-app --typescript new-project
生成されたプロジェクトを開いて確認すると、次のようにTypeScript
が適用されたNext.js
プロジェクトがうまく生成されたことが確認できます。
完了
今回のブログポストではNext.js
プロジェクトにTypeScript
を適用する方法について説明しました。既存のプロジェクトに適用する方法や新しくプロジェクトを生成する時、create-next-app
で簡単にTypeScript
を適用する方法について説明しました。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。