NuxtでTypeScriptを使ってデフォルトのsrcディレクトリを変更していると、たまに No pages directory found in プロジェクトディレクトリ
と表示されてビルドできないことがあります。
自分はかなりハマってしまったので、対処法をまとめます。
srcDir は設定しているか
srcディレクトリを /app
にする場合、
nuxt.configに srcDir: 'app/',
と記述します。
https://nuxtjs.org/api/configuration-srcdir#the-srcdir-property
これは基本なので、ちゃんと設定してあるはずですので、おそらく原因は別のところでしょう。
tsconfig.json の設定
baseUrl や paths は正しく設定されているか。
{
"compilerOptions": {
"baseUrl": "app",
"paths": {
"~/*": ["./*"],
"@/*": ["./*"]
}
}
}
モジュールを正しく読み込んでくれないときなどは、
tsconfig-paths
は入れてみる
yarn add -D tsconfig-paths
package.json パッケージのバージョン 依存関係は問題ないか
これが一番やっかいな問題ですが、パッケージの依存関係に問題がないか確認します。
node_modules/
や yarn.lock
は削除してクリーンな状態でパッケージを再インストールします。
以前あったのは、パッケージをアップグレードしたときに、core-jsのv3系がnuxtで動かなくなることがありました。
今回の自分が遭遇した原因は、Nuxt TypeScript に書いてあったのですが、nuxtのバージョンと、@nuxt/typescript-runtimeのバージョンの依存問題だったようです。
@nuxt/types
@nuxt/typescript-build
@nuxt/typescript-runtime
These packages are intended to only be used with Nuxt 2.10 or above.