You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js静态HTML导出:资源路径失效(CSS、自定义字体、图片)

Next.js 静态导出资源路径错误的解决方案

针对你用next build && next export生成静态文件后,CSS、图片、自定义字体路径错误的问题,以下是官方推荐且有效的解决步骤:

1. 完善next.config.js核心配置

Next.js 13+ 官方推荐用output: 'export'替代手动执行next export,同时配合assetPrefix和图片优化关闭配置,能统一大部分资源的路径:

/** @type {import('next').NextConfig} */
const nextConfig = {
  // 启用静态导出模式(替代 next build && next export 的手动命令)
  output: 'export',
  // 设置资源前缀为相对路径,适配本地打开静态文件的场景
  assetPrefix: './',
  // 静态导出时必须关闭图片优化,否则图片路径会异常
  images: {
    unoptimized: true,
  },
};

module.exports = nextConfig;

配置后,CSS的路径问题会被解决,同时为图片和字体的路径适配打下基础。

2. 图片路径的正确处理

无需手动写环境变量判断路径,通过以下两种方式自动适配开发/生产环境:

  • 使用Next.js Image组件:配合上面的images.unoptimized: true配置,组件会自动生成正确的相对路径:
    import Image from 'next/image';
    
    export default function Home() {
      return (
        <Image
          src="/vercel.svg"
          alt="Vercel Logo"
          width={100}
          height={100}
        />
      );
    }
    
  • 直接import图片文件:Webpack会自动处理路径,开发和导出时都能正常识别:
    import vercelLogo from '../public/vercel.svg';
    
    export default function Home() {
      return <img src={vercelLogo} alt="Vercel Logo" />;
    }
    

3. 自定义字体的路径适配

推荐用Next.js官方的next/font模块处理字体,它会自动处理路径、缓存和导出适配,无需手动调整路径:

本地自定义字体示例:

// pages/index.js
import localFont from 'next/font/local';

// 加载本地字体文件(路径相对于当前文件)
const customFont = localFont({
  src: '../public/fonts/custom-font.woff2',
  // 定义CSS变量,方便全局使用
  variable: '--font-custom',
});

export default function Home() {
  return (
    // 挂载字体变量到根元素
    <div className={customFont.variable}>
      <p style={{ fontFamily: 'var(--font-custom)' }}>这是自定义字体的文字</p>
    </div>
  );
}

如果坚持用原生CSS引入字体,确保路径是相对public目录的相对路径,配合assetPrefix: './'会自动编译为正确的相对路径:

@font-face {
  font-family: 'CustomFont';
  src: url('./fonts/custom-font.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

关于assetPrefix的有效性

assetPrefix: './'是官方推荐的静态导出路径配置,之前只解决CSS问题是因为图片和字体的配套配置没跟上。配合上面的图片、字体处理方式后,所有资源路径都能正常适配本地打开静态文件的场景。

内容的提问来源于stack exchange,提问作者aaRitsch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:25:14