next/font requires SWC although Babel is being used due to a custom babel config being present.

`next/font` kräver SWC-kompilatorn och fungerar inte om projektet har en anpassad Babel-konfiguration.

Förklaring

next/font hanterar typsnittsoptimering vid kompilering via SWC-plugin. Finns det en babel.config.js eller .babelrc i projektet byter Next.js automatiskt från SWC till Babel, och next/font-pluginet slutar fungera.

SWC är Next.js standardkompilator sedan version 12 och är markant snabbare än Babel. En kvarglömd Babel-konfiguration från ett äldre projekt är den vanligaste orsaken.

Vanliga orsaker

En babel.config.js, .babelrc, eller .babelrc.js finns i projektroten. Babel-konfiguration tillagd för ett specifikt testramverk som Jest.

Lösning

Ta bort Babel-konfigurationen om den inte behövs. Om Babel krävs för Jest, konfigurera Jest att använda babel-jest enbart för testfiler:

// jest.config.js
module.exports = {
  transform: {
    '^.+\.(js|jsx)$': ['babel-jest', { configFile: './babel.jest.config.js' }],
  },
};

Alternativt, byt till SWC-baserad Jest-konfiguration med @swc/jest för att slippa Babel helt.