nuxt如何生成动态路线

时间:2020-04-28 16:47:26

标签: vue.js nuxt.js dynamic-routing

正如nuxt的医生所说:

动态路由被generate命令(yarn generate)忽略。 Nuxt不知道这些路线是什么,因此无法生成 他们。

,他们有一个为动态路由创建静态html文件的解决方案:

generate: {
    routes () {
      return axios.get('https://my-api/users')
        .then((res) => {
          return res.data.map((user) => {
            return {
              route: '/users/' + user.id,
              payload: user
            }
          })
        })
    }
}

我的问题是: 在生成nuxt时,我们有50个用户,而nuxt为每个用户创建50个静态html。 但是用户数不是恒定的。 例如一小时后,我们有55位用户。 那么,nuxt如何处理呢? 或者说清楚: 它可以通过nuxt处理吗?

1 个答案:

答案 0 :(得分:2)

否,Nuxt将不会处理。生成模式将在命令运行时一次创建所有静态文件。

对于动态用户列表,您有以下解决方案:

  • 使用nuxt generate +一个外部钩子在每个事件上触发一个新的nuxt generate
    例如。每小时或在每次创建用户时使用cron选项卡自动运行generate命令
  • 使用“ spa”模式nuxt build && nuxt start --spa
    您可以将其作为生成器托管在任何静态Web提供程序上,但您可以 将失去SEO优势...
  • 使用“ ssr”模式nuxt build && nuxt start --spa
    您将保留SEO的优势,但是您必须找到一个服务器提供程序来在Node.js实例上托管您的SSR应用。