Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何为“a”提供服务器;。html";在Next.js应用程序中的特定URL上?_Reactjs_Next.js_Next Router - Fatal编程技术网

Reactjs 如何为“a”提供服务器;。html";在Next.js应用程序中的特定URL上?

Reactjs 如何为“a”提供服务器;。html";在Next.js应用程序中的特定URL上?,reactjs,next.js,next-router,Reactjs,Next.js,Next Router,我有一个“.html”文件,我需要在我的Next.js应用程序中以特定的路径提供它,如下所示 /pages/customr route name/my html file.html 因此,如果我去我的网站并键入http://example.com/custom-route-name/my-html-file.html我可以看到它 如何在Next.js中做到这一点?这需要API路由和URL重写才能开始工作。好的是,您还可以将此模式用于其他事情(例如,如果您想要生成RSS提要或sitemap.xml

我有一个“.html”文件,我需要在我的Next.js应用程序中以特定的路径提供它,如下所示

/pages/customr route name/my html file.html

因此,如果我去我的网站并键入
http://example.com/custom-route-name/my-html-file.html
我可以看到它


如何在Next.js中做到这一点?

这需要API路由和URL重写才能开始工作。好的是,您还可以将此模式用于其他事情(例如,如果您想要生成RSS提要或sitemap.xml)

注意:您需要运行Next 9.5才能正常工作

0移动HTML文件(可选) 您的文件不需要位于
/pages
目录中。让我们把它放在
/static
中。以后只需将这些路由文件占位符替换为实际文件名:
/static//.html

1.创建API路由 接下来,您可以创建类似于在旧式主机(如Express)中创建的内容。只要在
/pages/api
中,任何名称都可以。我们称之为
/pages/api/static/.js

//导入
从“fs”导入fs;
//瓦尔斯
常量文件名='./static/.html';
//出口
导出默认异步函数api(req、res){
res.setHeader('Content-Type','text/html;charset=utf-8');
res.write(等待fs.readFileSync(文件名为“utf-8”);
res.end();
}
2.将重写添加到
next.config.js
在下一步中,将使用与apache类似的工作。它们将url位置映射到下一个
/page

//导出
module.exports={
重写:异步()=>[
{源:'/',目标:'./pages/api/static/'},
],
};
3.快跑! 您应该能够使用常规的
next dev
来测试这一点。当然,对
next.config.js
的更改需要手动重新启动开发服务器


如果您查看下一篇文档,您将看到可以在API路由和这些重定向中使用通配符,这可能有助于您确定前进方向。

谢谢:)