我使用带有动态路由的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
,它会显示一个由{{ 1}}。
我认为路由未更新。 (我不知道/post/_id.vue
文件夹上的路由规则是什么)
有没有办法在没有整个部署过程的情况下上传新的动态路由?
答案 0 :(得分:1)
我认为您需要在部署之前生成每个页面。默认情况下,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
})
})
}
}
}
答案 1 :(得分:0)
发布时出错。
amplify publish // it publish vue application. it means that the target is SPA not Static page webiste
我在S3上部署了文件,并且运行正常。
我尝试过访问以下网站。我也失败了。
https://aws.amazon.com/ko/blogs/mobile/deploy-files-s3-dropbox-amplify-console/
我想与nuxt generate一起使用amplify。
错误的问题,没有正确的答案。