はじめに
Next.jsのチュートリアルをTypeScriptでやっていた際に、モジュールが見つからないとVSCodeに言われました。
悲しい。
問題
モジュールfsとpathがインポートできません。
公式チュートリアルのプリレンダリング(SSG vs SSR)の部分で、posts.js
なるものを作るのですが、自分はTypeScriptでやりたかったため、posts.ts
としました。
しかし、JSファイルだとインポートできていたモジュールが、TSファイルにするとできなくなってしまいました。困った。
posts.js
// 公式のチュートリアルコード
import fs from 'fs'
import path from 'path'
解決策
@types/node
をインストールすればよいらしい。
TS用のモジュールパッケージが入っていない感じなのかな?
理屈はわかりませんが、とりあえず参考ページにあったコマンドを叩く。
npm install --save-dev @types/node
# 自分はDockerを使っていたので、以下のコマンド。
# 1.コンテナをバックグラウンドで立ち上げ
# 2.コンテナを指定して命令を与える
docker-compose up -d
docker exec {your container name} npm install --save-dev @types/node
# 念のためアップデートを実行しておく
npm update
試してみたところ、無事にモジュールがインポートできるようになっていました!
おわりに
調べれば解決法が落ちてる現代の情報社会、ありがたい。
参考