nuxt如何生成动态路由

问题描述 投票:0回答:1

正如nuxt的医生所说:

动态路径将被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处理吗?

vue.js nuxt.js dynamic-routing
1个回答
0
投票

不,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应用程序。
© www.soinside.com 2019 - 2024. All rights reserved.