const withBundleAnalyzer = require('@next/bundle-analyzer')({ enabled: process.env.ANALYZE === 'true' }) module.exports = withBundleAnalyzer({ images: { // 图片压缩 formats: ['image/avif', 'image/webp'], // 允许next/image加载的图片 域名 domains: [ 'gravatar.com', 'www.notion.so', 'avatars.githubusercontent.com', 'images.unsplash.com', 'source.unsplash.com', 'p1.qhimg.com', 'webmention.io' ] }, // 默认将feed重定向至 /public/rss/feed.xml async redirects() { return [ { source: '/feed', destination: '/rss/feed.xml', permanent: true } ] }, async rewrites() { return [ { source: '/:path*.html', destination: '/:path*' } ] }, async headers() { return [ { source: '/:path*{/}?', headers: [ { key: 'Access-Control-Allow-Credentials', value: 'true' }, { key: 'Access-Control-Allow-Origin', value: '*' }, { key: 'Access-Control-Allow-Methods', value: 'GET,OPTIONS,PATCH,DELETE,POST,PUT' }, { key: 'Access-Control-Allow-Headers', value: 'X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version' } ] } ] }, webpack: (config, { dev, isServer }) => { // Replace React with Preact only in client production build // if (!dev && !isServer) { // Object.assign(config.resolve.alias, { // react: 'preact/compat', // 'react-dom/test-utils': 'preact/test-utils', // 'react-dom': 'preact/compat' // }) // } return config } })