4

当我在 my中运行nuxt generate时,我的动态创建的路由不接受它们的有效负载,它们是这样的:target: "static"nuxt.config.js

****nuxt.config.js****
generate: {
    routes() {
      return axios
        .get(`${process.env.ROOT_URL}/businesses`)
        .then(res => {
          return res.data.map(business => {
            return {
              route: `/business/${business.id}`,
              payload: business
            };
          });
        });
     }
}

****business.vue****
async asyncData({ params, store, error, payload }) {
    if (payload) {
      console.log('GOT PAYLOAD!', payload);
      return { business: payload };
    } else {
      // other stuff
    }
})

nuxt generate上面的 console.log 中,每个动态路由都会被命中,所以我知道它正在接收正确的有效负载。

nuxt generatedist的文件夹对每个动态路由都有一个子文件夹后,但是index.htmlfor each 里面只有几行,当我在浏览器上访问每个动态路由的页面时,不会出现特定于动态路由的内容(我的layout组件中的导航栏很好)。

应用程序中的导航工作正常,所以如果我转到另一个页面并进入我的动态路由内容的页面,那么会出现,所以asyncData工作,接受有效负载是麻烦。

如果没有target: "static"按预期工作,index.htmlfor each in 中dist有很多内容,并且页面在访问时会加载所需的内容,尽管head()没有生成 business.vue 中的方法(请参阅我的问题here)。

谁能指出我错过了什么/做错了什么?

4

0 回答 0