Node.js 如何在运行时在angular 9项目结构中动态创建/修改sitemap.xml文件?
如何在Angular 9项目结构中创建动态sitemap.xml文件?我可以使用HTTP get请求从节点API获取数据,但使用这些数据,我如何在运行时从angular project更新本地xml文件 在我的例子中,angular项目和node项目位于不同的服务器(不同的域)上。可以在node项目中创建xml文件,但我无法在angular项目根中以xml文件的形式访问该文件 是否有人可以建议我如何在angular项目中使用节点xml,或者是否可以使用angular 9中的api调用创建/修改dynamic sitemap.xmlNode.js 如何在运行时在angular 9项目结构中动态创建/修改sitemap.xml文件?,node.js,angular,angular-cli,sitemap,angular9,Node.js,Angular,Angular Cli,Sitemap,Angular9,如何在Angular 9项目结构中创建动态sitemap.xml文件?我可以使用HTTP get请求从节点API获取数据,但使用这些数据,我如何在运行时从angular project更新本地xml文件 在我的例子中,angular项目和node项目位于不同的服务器(不同的域)上。可以在node项目中创建xml文件,但我无法在angular项目根中以xml文件的形式访问该文件 是否有人可以建议我如何在angular项目中使用节点xml,或者是否可以使用angular 9中的api调用创建/修改d
如果有任何帮助,我将不胜感激。我现在正在研究同一主题,我已经取得了一些成就 我像这样在
angular.json
文件中添加了它
然后我创建了一个组件,并将其路径指定为sitemap.xml
可以在角度上执行服务器端渲染,这样我们的工作就简单了一点
您可以向routing.module文件添加新路由,并通过server.ts
function writeFile(sitemap: string): void {
const fs = require('fs');
fs.appendFile('../sitemap.xml', sitemap, (err) => {
if (err) {
throw err;
}
console.log('Saved!');
});
}
例如,您可以通过这种方式在server.ts
中访问类似sitemap.xml
的路由
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');
谢谢你的回复。您能详细说明一下如何将数据添加到从web服务提取的sitemap.xml中吗?我们可以修改驻留在资产文件夹中的sitemap.xml文件吗?是的,这是正确的方法。但问题是,要在angular中使用服务器端渲染,我需要在angular网站服务器中安装nodeJS,这在我的情况下是不可能的。在没有安装nodeJS的情况下,有没有办法实现这一点?