我使用的是带有Strapi API的Gridsome。我在api.createPates中使用gridsome.server.js方法从api中获取数据,并根据这些数据生成页面。下面的代码似乎造成了问题:
let localizedOverviewData = {}
if(overviewData.series.localizations?.data) {
overviewData.series.localizations.data.forEach(async locale => {
localizedOverviewData = await axios.get(process.env.API_ENDPOINT_BASE + 'series-info' + query + '&locale=' + locale.attributes.locale, config)
localizedOverviewData = {
series: localizedOverviewData.data.data.attributes,
events: upcomingEvents,
pastEvents: pastEvents
}
createPage({
path: '/' + locale.attributes.locale,
component: './src/templates/Overview.vue',
context: localizedOverviewData
})
createPage({
path: '/' + locale.attributes.locale + '/past-summits',
component: './src/templates/PastSummits.vue',
context: localizedOverviewData
})
})
}当我构建项目时,我得到
Could not generate HTML for "/zh/past-summits/":
Error: Could not resolve /zh/past-summits.
at assets/js/app.0b54624b.js:4308:23
at /Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2836:23
at /Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2266:21
at /Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2404:7
at step (/Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2003:7)
at step (/Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2010:9)
at runQueue (/Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2014:3)
at /Users/VertizonticalStudios/Websites/discovery-website-generator/node_modules/vue-router/dist/vue-router.common.js:2399:5对问题是什么有什么想法吗?如果我注释掉这两个createPage函数,它可以正常工作。
发布于 2022-05-10 18:29:58
好吧我找到答案了。问题是在my for每个循环上使用‘异步’。显然那不管用。将其切换到for循环修复它。
https://stackoverflow.com/questions/72188616
复制相似问题