import { createCache, StyleProvider } from '@ant-design/cssinjs'; import Document, { DocumentContext, Head, Html, Main, NextScript } from 'next/document'; import { doExtraStyle } from '../genAntdCss'; class MyDocument extends Document { static async getInitialProps(ctx: DocumentContext) { const cache = createCache(); let fileName = ''; const originalRenderPage = ctx.renderPage; ctx.renderPage = () => originalRenderPage({ enhanceApp: App => props => ( ), }); const initialProps = await Document.getInitialProps(ctx); fileName = doExtraStyle({ cache, }); return { ...initialProps, styles: ( <> {initialProps.styles} {/* 1.2 inject css */} {fileName && } ), }; } render() { return (
); } } export default MyDocument;