vue.js - 使用nuxt部署后如何添加新的动态路由?
问题描述
我使用带有动态路由的 nuxt generate 在 AWS 上部署了我的站点。页面没有问题。现在我想在没有整个部署过程的情况下添加新路线。
这是一个例子:
/post/1
/post/2
/post/3
------- already deployed and works fine ------
/post/4 <- want to add after deployment
我手动上传生成index.html
的,S3
所以我可以访问文件,/post/4/index.html
但如果我尝试/post/4
它会显示一个使用/post/_id.vue
.
我认为路由没有更新。(我不知道/dist
文件夹的路由规则是什么)
有没有办法在没有整个部署过程的情况下上传新的动态路由?
解决方案
我认为您需要在部署之前生成每个页面。默认情况下,generate 命令会忽略动态路由。
转到nuxt.config.js
并找到生成密钥。这是生成特定站点的简单示例。
export default {
...
generate: {
routes: [
'/post/1',
'/post/2',
'/post/3',
'/post/4'
]
}
}
如果您需要以编程方式生成动态路由,则需要编写一个函数。
查看文档以获取更多信息:https ://nuxtjs.org/api/configuration-generate/
最后,简单的例子:
import BlogService from './services/BlogService.js'
...
export default {
...
generate: {
routes: () => {
return BlogService.getPosts().then(response => {
return response.data.map(post => {
return '/post/' + post.id
})
})
}
}
}
推荐阅读
- vba - 以编程方式更新-链接-命名范围-的-excel-object-in-ms-word-2010
- macos - 在 Mac 中禁用符号链接和挂载路径解析
- windows - 为什么 PDF 文本提取会挂起单个 PDF 但通过 RDP 工作
- python - 在熊猫数据框中设置多索引列的顺序
- c - How to sync two process (child and parent) with signals in C?
- ubuntu - How to get complete history from different tty or pts
- python - How to handle temporary errors which are not signaled by http status code?
- ios - Objective c iOS 11中的静默通知显示横幅错误
- android - 需要重新启动应用程序才能显示更改?
- wampserver - How to Configure WAMP Server so that Multi developer can work on common Server on Network