首页 > 解决方案 > 我的 nextjs 应用程序中没有 index.html 文件。Netlify 不喜欢这样

问题描述

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

标签: next.jsnetlify

解决方案


背景

在 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。

要使用它,只需转到您的插件选项卡,搜索“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


推荐阅读