javascript - 在 Angular 中根据请求生成 Sitemap.xml
问题描述
我知道我们可以在构建时生成站点地图并将其存储在资产文件夹中。
www.example.com/sitemap.xml - This is the root level sitemap.
但我想知道如何根据要求生成站点地图。例如。
如果用户输入以下 URL,我需要捕获请求sitemap.xml
。在组件中,我必须进行 http 调用以获取所有属于moduleA
.
然后提供 sitemap.xml 而不抛出错误或路由到错误页面?
www.example.com/moduleA/sitemap.xml
有可能做到有角吗?如果是这样,我该怎么做?
请帮忙。
解决方案
根据我的经验,使用 Angular 来处理根据请求生成站点地图是不可能的。您必须在服务器中处理此问题。无论是否使用 Angular SSR,您的 Angular 应用程序都应该通过服务器提供服务,例如 express 服务器。然后你可以使用这样的东西:
app.get("/sitemap.xml", (req, res) => {
const xml = generatingXML();
res.setHeader("Content-Type", "application/xml");
res.end(xml);
});
把上面的代码放在你的捕获所有服务角度的路线上。您可以使用axios
https://github.com/axios/axios在服务器上进行 api 调用。
推荐阅读
- python - 我的项目中的 python 线程有问题
- sorting - 使用实例渲染的全局半透明排序
- python - Python - 遍历离散箱列表并选择行
- visual-studio-code - 如何使用 vscode 开发 Linux 内核模块而不进行错误检测
- parsing - if 语句中的解析错误:Haskell 代码中缺少必需的 else 子句
- ssh - 使用 gcloud SSH 到特定的 linux 用户名
- react-native - 防止反应导航 StackNavigator 的后退行为
- opencv - openni.launch 既不是包 [openni_launch] 中的启动文件,也不是 [openni_launch] 启动文件名
- regex - 如何使用 C++11 正则表达式解析整数/标识符/字符串/运算符?
- linux - 如何管理 docker 备份