如何在运行时动态创建/修改 Angular 9 项目结构中的 sitemap.xml 文件?

2024-01-13

如何在 Angular 9 项目结构中创建动态 sitemap.xml 文件?我可以使用来自节点 API 的 HTTP get 请求获取数据,但是使用此数据如何在运行时从 Angular 项目更新本地 xml 文件?

就我而言,角度项目和节点项目位于不同的服务器(不同的域)上。并且可以在节点项目中创建 xml 文件,但我无法在角度项目根中以 xml 文件形式访问该文件。

谁能建议我如何在 Angular 项目中使用节点 xml 或者是否可以在 Angular 9 中使用 api 调用创建/修改动态 sitemap.xml?

任何帮助将不胜感激。


我现在正在研究同一主题,并且已经取得了一些成就。

我将其添加到angular.json像这样的文件

然后我创建了一个组件并将其路径指定为sitemap.xml.

可以在 Angular 中执行服务器端渲染,这样我们的工作就容易了一些。Angular 服务器端渲染 https://angular.io/guide/universal

您可以将新路由添加到您的routing.module文件中,并通过以下方式干扰此请求server.ts

例如,您可以访问类似的路线sitemap.xml以这种方式在server.ts.

server.get('/sitemap.xml', (req, res, next) => { bla,bla }

您现在可以在此处访问所需的文件并根据需要进行更改。

文件操作在server.ts

function writeFile(sitemap: string): void {
    const fs = require('fs');
    fs.appendFile('../sitemap.xml', sitemap, (err) => {
    if (err) {
    throw err;
  }
    console.log('Saved!');
  });
}
  

然后,重定向操作

res.redirect('http://localhost:{$PORT}/sitemap.xml');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时动态创建/修改 Angular 9 项目结构中的 sitemap.xml 文件? 的相关文章

随机推荐