Closed11

next.jsにmswを入れる

まるべいじまるべいじ

fetchのインターセプト系のmockじゃ無いprismとか使うしか無いのか、、、

まるべいじまるべいじ

サンプルの if (process.env.NEXT_RUNTIME === "nodejs")が重要なんだな。
これがあることによって、importの解決タイミングを意図的に遅延させてる。

RUNTIMEが結果的にnodejsで他のRUNTIMEが来ないとしても必要だ。

export async function register() {
  console.log("[i] %s %d", process.env.NEXT_RUNTIME, process.pid);
  if (process.env.NEXT_RUNTIME === "nodejs") {
    const { initMocks } = await import("@/lib/msw");
    initMocks();
  }
}

ここにも書いてあった
https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation#importing-runtime-specific-code

まるべいじまるべいじ

middlewareはprocess.env.NEXT_RUNTIMEがedgeだから./nodeがインポートできないエラーがmswの内部で発生して、どうしようもなさそう

このスクラップは3ヶ月前にクローズされました