如何在 Vue Nuxt 应用程序中正确设置动态 sitemap.xml 路由?
How can I properly set dynamic sitemap.xml routes within a Vue Nuxt application?
我正在使用 @nuxtjs/sitemap
在我的 Nuxt 应用程序中自动生成站点地图,但它不能很好地生成内部路由,我想根据实际发布的帖子动态定义用户帖子的路由存在。考虑一下:
我希望能够自动生成它们并更新站点地图,而不是在我的站点地图中提供 0、1 和 3 值。
我似乎无法从 nuxt.config.js 文件中调用 nuxt 的 axios 插件,而且我不知道如何完成这项任务,希望得到任何指导。
您不能使用 nuxt.config.js
脚本中的 @nuxtjs/axios
,如下所述:https://github.com/nuxt-community/axios-module/issues/242#issuecomment-544923463
因此您必须直接使用 axios
进行 XHR 调用并为您的 sitemap
配置生成动态路由,如下所示:
const axios = require('axios');
{
// ...
sitemap: {
routes: async () => {
const { data } = await axios.get('https://jsonplaceholder.typicode.com/posts')
return data.map((user) => `/posts/${post.id}`);
}
}
}
参见文档中的示例:https://sitemap.nuxtjs.org/usage/sitemap-options#from-a-function-which-returns-a-promise
每次调用您的 https://example.com/sitemap.xml
时,站点地图模块将执行“路由”功能并动态更新您的 sitemap.xml
文件。
我正在使用 @nuxtjs/sitemap
在我的 Nuxt 应用程序中自动生成站点地图,但它不能很好地生成内部路由,我想根据实际发布的帖子动态定义用户帖子的路由存在。考虑一下:
我希望能够自动生成它们并更新站点地图,而不是在我的站点地图中提供 0、1 和 3 值。
我似乎无法从 nuxt.config.js 文件中调用 nuxt 的 axios 插件,而且我不知道如何完成这项任务,希望得到任何指导。
您不能使用 nuxt.config.js
脚本中的 @nuxtjs/axios
,如下所述:https://github.com/nuxt-community/axios-module/issues/242#issuecomment-544923463
因此您必须直接使用 axios
进行 XHR 调用并为您的 sitemap
配置生成动态路由,如下所示:
const axios = require('axios');
{
// ...
sitemap: {
routes: async () => {
const { data } = await axios.get('https://jsonplaceholder.typicode.com/posts')
return data.map((user) => `/posts/${post.id}`);
}
}
}
参见文档中的示例:https://sitemap.nuxtjs.org/usage/sitemap-options#from-a-function-which-returns-a-promise
每次调用您的 https://example.com/sitemap.xml
时,站点地图模块将执行“路由”功能并动态更新您的 sitemap.xml
文件。