getStaticPaths() возвращает 404 Страницы, которые не найдены

#javascript #arrays #typescript #next.js

Вопрос:

Он getStaticPaths() продолжает выбрасывать страницу 404, и я предполагаю, что это связано с функцией getAllPostIds() , которая предназначена для возврата массива объектов. Я использую typescript, я объявил массив объектов, но я не уверен, как использовать метод replace на id

 interface ArrObj {
    params: {
        id: string;
    }
}
let arrObj: ArrObj[];

export function getAllPostIds() {
    const fileNames = fs.readdirSync(postsDirectory);

    return fileNames.map(fileName => {
        return {
            params: {
                id: fileName.replace(/.md$/, '')
            }
        }
    })
}

export function getPostData(id) {
  const fullPath = path.join(postsDirectory, `${id}.md`)
  const fileContents = fs.readFileSync(fullPath, 'utf8')

  const matterResult = matter(fileContents)

  return {
    id,
    ...matterResult.data
  }
}
export async function getStaticPaths(){
    const paths = getAllPostIds();
    return{
        paths,
        fallback: false
    }
}

export async function getStaticProps({ params }) {
  const postData = getPostData(params.id)
  return {
    props: {
      postData
    }
  }
}

 

Комментарии:

1. Ваши getAllPostIds функции и getStaticPaths функции выглядят нормально. Вы регистрируете какие-либо ошибки на сервере? Не могли бы вы показать нам и эту getStaticProps функцию тоже?

2. Я добавил его в код…..