为了账号安全,请及时绑定邮箱和手机立即绑定

如何让 Nuxt.js 生成动态路由的静态文件

如何让 Nuxt.js 生成动态路由的静态文件

浮云间 2018-12-11 21:50:35
Nuxt.js 提供了两种发布部署应用的方式:服务端渲染应用部署 和 静态应用部署我选择的是第二种,执行 npm run generate 命令是可以顺利打包的,但是存在问题-| pages/ ---| index.vue ---| users/ -----| _id.vue上述文件结构,只要有动态路由的文件是打包不出来的,_id.vue 这个文件就无法打包成功,其实官方给了如下配置// nuxt.config.js 进行设置const axios = require('axios')module.exports = {  generate: {    routes: function () {      return axios.get('https://my-api/users')       .then((res) => {        return res.data.map((user) => {          return '/users/' + user.id         })       })           }   } }很可惜,我尝试了,但是失败了,目前项目上线,我改了代码,被迫用 /users?id=1 这样的方式,但是看起来很难受,这并不是我的初衷,如果有人遇到过此问题希望能与我在此交流
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

动态路由的文件名(即 _id )实际上是一个变量,在 Restful 风格的路由上它是不唯一的,因此从逻辑上来说不应该打包成静态文件。即便是将这个文件的内容以某种形式打包了,那么这个 id 也需要从 query 或者 body 里查询,那么楼主的方式其实是比较合理的解决方案了。

查看完整回答
反对 回复 2018-12-11
  • 1 回答
  • 0 关注
  • 2433 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信