Closed4

next.jsでvitestを使いたいがエイリアスが解決されないとき

YasActYasAct
// vi.mock("../app/libs/mockTrial");
vi.mock("@/app/libs/mockTrial"); // なんでこっちのパスが通らないのかわからない
YasActYasAct

vitest.config.tsを

import { resolve } from "path";
import { defineConfig } from "vitest/config";

export default defineConfig({
  resolve: {
    alias: {
      "@/app": resolve(__dirname, "./app"),
    },
  },
});

こうしておけばOK

YasActYasAct

ここで __dirname
はこのファイル(vitest.config.ts)の場所なので、
vitest.config.tsがroot directoryにあれば@/appで./appを指してくれる

YasActYasAct

同様に

import { resolve } from "path";
import { defineConfig } from "vitest/config";

export default defineConfig({
  resolve: {
    alias: {
      "@/app": resolve(__dirname, "./app"),
      "@/components": resolve(__dirname, "./components"),
      "@/hooks": resolve(__dirname, "./hooks"),
      "@/utils": resolve(__dirname, "./utils"),
    },
  },
});

こうしておくとcomponentsやhooksやutilsも解決してくれる

このスクラップは2024/03/13にクローズされました