Node.js 如何在next.js中创建站点地图

Node.js 如何在next.js中创建站点地图,node.js,next.js,Node.js,Next.js,我正在尝试将站点地图添加到我的next.js网站。我将以下代码添加到server.js server.get('/sitemap.xml', (req, res) => { const options = { root:'./', headers: { 'Content-Type': 'text/plain;charset=UTF-8', } }; return res.status(200

我正在尝试将站点地图添加到我的next.js网站。我将以下代码添加到
server.js

server.get('/sitemap.xml',  (req, res) => {
    const options = {
        root:'./',
        headers: {
          'Content-Type': 'text/plain;charset=UTF-8',
        }
      };

    return res.status(200).sendFile('sitemap.xml', options)
});
sitemap.xml
文件位于根文件夹中,即与
server.js
文件位于同一位置。当我使用
节点服务器在本地运行它时,请转到
http://localhost:5000/sitemap.xml
它工作正常。当我将文件上传到服务器时,服务器会出现
notfound
错误


我做错了什么,如何使用nextjs添加站点地图?

可能只需将
sitemap.xml
文件移动到公共文件夹下,例如
public/sitemap.xml
,然后删除此自定义动态路由


你好,杰西卡。您如何在服务器上运行节点应用程序?还有一件事,你检查过sitemap.xml的文件权限了吗?一件事是,这是一个动态的路由,而不是一个实际的文件。因此,如果您只是部署静态内容,那么这将不起作用,您还需要在生产环境中使用完整的nextjs服务器。有一件事,我认为next.js支持公共文件夹下的静态文件,所以如果你将站点地图移动到那里,它可能只是一个静态文件。这个答案应该是可行的。我刚刚用同样的方法部署了一个Next.js应用程序。向上投票。我没有公用文件夹,我有。下一个文件夹。那就做一个吧。下一个文件夹是buildoutput,所以don';不要把任何东西放在那里,不要';不要将其提交给源代码管理。