如何创建 Next.js 应用程序的静态导出
Next.js 支持从静态站点或单页应用程序(SPA)开始,然后可以选择性地升级到使用需要服务器的功能。
当运行 next build 时,Next.js 为每个路由生成一个 HTML 文件。通过将严格的 SPA 分解为单独的 HTML 文件,Next.js 可以避免在客户端加载不必要的 JavaScript 代码,减少包大小并实现更快的页面加载。
由于 Next.js 支持这种静态导出,它可以部署和托管在任何可以提供 HTML/CSS/JS 静态资源的 Web 服务器上。
配置
要启用静态导出,请在 next.config.js 中更改输出模式:
next.config.js
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
output: 'export',
// 可选:更改链接 `/me` -> `/me/` 并生成 `/me.html` -> `/me/index.html`
// trailingSlash: true,
// 可选:防止自动 `/me` -> `/me/`,而是保留 `href`
// skipTrailingSlashRedirect: true,
// 可选:更改输出目录 `out` -> `dist`
// distDir: 'dist',
}
module.exports = nextConfig
运行 next build 后,Next.js 将创建一个包含应用程序 HTML/CSS/JS 资源的 out 文件夹。