`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.