我的 nextjs 应用程序中没有 index.html 文件。Netlify 不喜欢这样

Jac*_*ick 8 netlify next.js

Netlify 不允许您部署网站,除非有 index.html 文件。当我创建下一个应用程序时,Nextjs 没有为我设置一个。有人知道怎么修这个东西吗?

Nic*_*ick 9

背景

在 Netlify 上部署 Next.js 有两种主要方法:作为静态网站或使用next-on-netlify.

默认情况下,Netlify 部署静态网站,Next.js 是动态的。Next.js 需要服务器。当您运行npm run build构建 Next.js 时,您实际上并没有创建 HTML 页面。相反,您正在创建生产资产,然后 Next.js 服务器将向访问者提供这些资产。这就是您看不到index.html文件的原因。

静态网站

如果您的网站是完全静态的,这可能是一个值得考虑的好选择。您的网站将会快速发展。这会将您的整个网站导出为 HTML、CSS、JS 和所有静态资源(例如图片)。

要使用此功能,请将 package.json 中的构建命令更新为next build && next export。然后在站点的 Netlify 设置中,确保构建命令已npm run build' and the publish directory is 退出`。

Next.js 文档中有更多关于此的详细信息。特别要注意了解此静态导出支持和不支持的内容。

https://nextjs.org/docs/advanced-features/static-html-export

Netlify 上的下一个

几个月前,Netlify 发布了一个名为“Next on Netlify”的插件。它只是一个插件,可以让他们的next-on-netlifynpm 包更容易使用。

这将使您充分利用 Next.js。

要使用它,只需转到插件选项卡,搜索“Next on Netlify”,然后添加插件。

如果您想了解更多详细信息,请查看他们的博客文章:https ://www.netlify.com/blog/2020/12/07/announcing-one-click-install-next.js-build-plugin-on-netlify/

以下是 Github 存储库的链接:https://github.com/netlify/next-on-netlify