nuxt 生成有效负载未定义

jel*_*ran 5 static payload nuxt.js generate

我有一个 Nuxt 项目,在nuxt.config.js文件中,我有一个像这样的函数:

generate: {
    async routes() {
      function postRoutes() {
        return axios
          .post('https://my-server.com/api/posts')
          .then((r) => r.data.map((post) => {
            // I log post data here, it exist
            console.log(post)
            return {
              route: `post/${post.id}`,
              payload: 'post'
            }
          }))
      }
      const response = await axios
        .all([postRoutes()])
        .then(function (results) {
          const merged = [].concat(...results)
          return merged
        })
      return response
    }
  },
Run Code Online (Sandbox Code Playgroud)

然后,在pages/post/_slug.vue中,在asyncData中,当接收payload对象时,它返回undefined

async asyncData({ params, error, payload }) { {
    console.log(payoad) // return undefined
}
Run Code Online (Sandbox Code Playgroud)

我不知道是我传递有效负载的方式错误还是Nuxt有效负载有问题,请帮助!先感谢您

Mag*_*Rat 0

看起来您正在将有效负载值作为字符串“post”传递。从有效负载值中删除单引号。

将返回对象更改为:

return {
    route: `post/${post.id}`,
    payload: 'post'
}
Run Code Online (Sandbox Code Playgroud)

到:

return {
     route: `post/${post.id}`,
     payload: post
 }
Run Code Online (Sandbox Code Playgroud)