dev環境を作って、いちおbasic認証をかけておくか、と思いググって「割といけそう!」と思ってやってみたけど、なかなか出来ず。。。
チャッピーに聞いてもジェミニーに聞いても上手くいかず、気づいたら半日が過ぎていました。
もう諦めるか、
いやこんなことで諦めていたらこの先やっていけるわけないじゃないか!!!
と思ったその時、(←謎の負けず嫌いが発動)原因が分かりました。
なぜbasic認証がかからなかったのか
middleware.tsの配置位置が違っていた。
ただそれだけでした。
なんで解決に時間がかかったのか
私が調べた限り、どのやり方もmiddleware.tsはルート直下に配置すると書いてありました。だから、配置位置が間違っているとは思わなかったのです。
最初はvercelの設定等が間違ってるのか、と思っていたのですが、ローカルでも設定しても何も起こらず。。。
さすがにmiddleware.tsにconsole.logを記載しても反応なし、matcherの設定を見直してもおかしなところはない、.envが読み込まれていないのでは?と思い、userとpasswordを直接記載してみても
反応がない、、、
これはもう、
middleware.tsが読み込まれていない!?
そう気づき、飛ばし読みしていた公式サイトをよく読んでみると、、、←最初からちゃんと読んでおくんだった
Use the file middleware.ts (or .js) in the root of your project to define Middleware. For example, at the same level as app or pages, or inside src if applicable.
翻訳↓
プロジェクトのルートディレクトリにある middleware.ts(または .js)ファイルを使用してミドルウェアを定義します。例えば、app や pages と同じレベル、または該当する場合は src ディレクトリ内に配置します。
私の作っているプロジェクトにはsrcディレクトリがあったのでsrcディレクトリ直下にmiddleware.tsを配置しないと読み込まれないのでは?
という結論に。
いけたァぁぁぁ!!!!
結論
公式ドキュメントをちゃんと読め。
まさにその通りなんですが、いかんせん公式ドキュメントって分かりにくいから遠ざかってしまう。。。
徐々に読むのが慣れていけるようになりたいです。