【发布时间】:2021-03-12 15:06:51
【问题描述】:
我想为我的项目生成静态路由(/contact、/about、...)和动态路由(/project/1、/project/2,...),这样当用户刷新页面时访问这些路线中的任何一条,页面仍然有效。
但是在执行npm run generate 时,我只得到Generated route "/" 并且在/dist 文件夹中我看不到任何路由生成。
使用的 Nuxt.js 版本:2.14.7
我尝试了universal 和spa 两种模式,但两者都不适用。
在 nuxt.config.js 我在顶部:
const axios = require('axios')
const dynamicRoutes = async () => {
const routes = await axios.get('http://my-project.com/wp/wp-json/projects/v1/posts')
.then(res => res.data.map((project) => `/project/${project.ID}/${project.post_name}`))
.then(res => res.concat(
[
'/about',
'/contact',
'/portfolio'
]
))
return routes
}
然后在export default {}:
generate: {
routes: dynamicRoutes
},
【问题讨论】:
-
我在自己的机器上克隆了这个项目,它在 dist 文件夹中生成了路由
-
@BoussadjraBrahim 知道为什么 Nuxt 在我的机器上运行
npm run generate时无法生成任何路由吗? -
能否在运行命令后显示截图?
-
我使用此类问题在 nuxt.config.js 中的 nuxt.js 上生成站点地图添加到模块“@nuxtjs/sitemap”,然后添加站点地图站点地图:{ routes () { return axios.post( process.env.APP_URL+'/sitemap') .then( res => res.data.map(link => link) ) } },我认为你可以使用相同的行为
-
@drake035 你必须删除 nuxt 路由器模块并修复文件结构 - gist.github.com/MexsonFernandes/…。我已经克隆并检查了......它的工作完美无缺。