Vue.js nuxt generate为动态页面nuxt.js抛出错误
我似乎不明白这里的问题是什么 我已经在我的Vue.js nuxt generate为动态页面nuxt.js抛出错误,vue.js,vuejs2,nuxt.js,Vue.js,Vuejs2,Nuxt.js,我似乎不明白这里的问题是什么 我已经在我的numxt.config.js中创建了一个使用numxt.js分页的博客,我有一个从contentful获取文章的方法,就像这样 const getBlogPosts = async () => { let blogPosts = await client.getEntries({ order: '-sys.createdAt', limit: 1000, content_type: config.CTF_BLOG_POST }); ret
numxt.config.js
中创建了一个使用numxt.js分页的博客,我有一个从contentful获取文章的方法,就像这样
const getBlogPosts = async () => {
let blogPosts = await client.getEntries({ order: '-sys.createdAt', limit: 1000, content_type: config.CTF_BLOG_POST });
return blogPosts;
};
然后,当我生成路由时,我会执行以下操作
generate: {
routes: async () => {
const posts = await getBlogPosts();
const routes = [];
let postsNum = Math.ceil(posts.items.length / 10); // get the page numbers
for (let i = 1; i <= postsNum; i++) {
routes.push({
route: '/page/' + i,
payload: {
data: posts.items.splice(i === 1 ? 0 : i * 10, 10)
}
});
}
return routes;
}
},
现在,当我在本地运行这个页面时,页面工作正常,没有错误等。。但是在numxt generate
上,我得到
错误:生成错误/page/1
现在我已经尝试了console.log()
在mounted()
上发布博客帖子,但它从未触发
我想不出这里出了什么问题,我试着把所有的东西都去掉,把我的\u page/index.vue
做成这样
<template>
<div>
<h1>hello</h1>
</div>
</template>
<script>
export default {
}
</script>
<style>
</style>
这看起来是正确的,那么为什么页面出错
编辑1
当我检查我的dist文件夹时,页面1 index.html就在那里,但在html中显示无法找到此页面
任何帮助都将不胜感激,谢谢,或者有没有办法获得更好的错误消息
编辑2
我所有的博客页面都构建正确,但实际的/page/1是唯一失败的页面。我对整个async generate方法进行了尝试,没有出现错误。。此外,如果I console.log记录了所有路由,则会显示所有路由都是正确的
[ 08:58:38
{
route: '/blog/6gQUEUwex7mjNtAXY4ZlTO',
payload: {
data: [Object]
}
},
{
route: '/blog/2xDAv0zSt4kUfxOV1XC98C',
payload: {
data: [Object]
}
},
{
route: '/blog/6f6shGDflvuBUMZn25sIbE',
payload: {
data: [Object]
}
},
{
route: '/blog/24Sov29BazGj52WEQdJGiy',
payload: {
data: [Object]
}
},
{
route: '/blog/r2ky97Vg8u6rouiVXdSzd',
payload: {
data: [Object]
}
},
{
route: '/blog/2QnIl7GOScQ31A7EcRVgT1',
payload: {
data: [Object]
}
},
{
route: '/blog/1bEUOT5Xnm7CU9Njd5xkeu',
payload: {
data: [Object]
}
},
{
route: '/blog/7FUON1DcQcGQnvdp7Kxfbe',
payload: {
data: [Object]
}
},
{
route: '/page/1',
payload: {
data: [Array]
}
}
]
所有其他页面都正确生成我是个白痴
需要生成的路由是/blog/page/1
而不是/page/1
所以我更新了这个
for (let i = 1; i <= postsNum; i++) {
routes.push({
route: '/blog/page/' + i,
payload: {
data: posts.items.splice(i === 1 ? 0 : i * 10, 10)
}
});
}
for(设i=1;iconsole.log()
将不起作用,除非处于开发模式,如果需要,请使用console.error()…
must@Ohgodwhyconsole.error()在任何其他路线上,当其生成时,它将显示it@SmokeyDawson你能给每个wait
语句添加一些try/catch块,看看异步调用是否会导致任何错误吗?@ChrisLeyva我会尝试一下并更新我的问题,thanks@SmokeyDawson我还在Nu中的问题中添加了更多信息你发布的xt reddit线程。
[ 08:58:38
{
route: '/blog/6gQUEUwex7mjNtAXY4ZlTO',
payload: {
data: [Object]
}
},
{
route: '/blog/2xDAv0zSt4kUfxOV1XC98C',
payload: {
data: [Object]
}
},
{
route: '/blog/6f6shGDflvuBUMZn25sIbE',
payload: {
data: [Object]
}
},
{
route: '/blog/24Sov29BazGj52WEQdJGiy',
payload: {
data: [Object]
}
},
{
route: '/blog/r2ky97Vg8u6rouiVXdSzd',
payload: {
data: [Object]
}
},
{
route: '/blog/2QnIl7GOScQ31A7EcRVgT1',
payload: {
data: [Object]
}
},
{
route: '/blog/1bEUOT5Xnm7CU9Njd5xkeu',
payload: {
data: [Object]
}
},
{
route: '/blog/7FUON1DcQcGQnvdp7Kxfbe',
payload: {
data: [Object]
}
},
{
route: '/page/1',
payload: {
data: [Array]
}
}
]
for (let i = 1; i <= postsNum; i++) {
routes.push({
route: '/blog/page/' + i,
payload: {
data: posts.items.splice(i === 1 ? 0 : i * 10, 10)
}
});
}