将“ id.jsx”命名为“ [id] .jsx”,以便与Next.js动态路由

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

我正在尝试将next.js用作AWS Lambda来投放我的serverless

而且我在动态路由方面遇到了麻烦。

我的目录如下。

pages
 -courses
   -[id].jsx
   -index.jsx
 -index.jsx

在我的本地服务器上运行良好。

但是在我的Real服务器(AWS Cloudfront)上,它不支持动态路由。

问题与courses/[id].jsx有关。

进入网站后,我会在控制台上看到错误消息。

获取https://RANDOM.cloudfront.net/_next/static/RANDOM/pages/courses/[id].js净额:: ERR_ABORTED 400

因此,我将名称[id].jsx更改为id.jsx,并构建并部署了它。

并且有效。

但是我不确定这是否是解决我的问题的正确方法。

因为nextjs表示将[]与动态路由一起使用。

我的问题是,没有[]的解决方案命名是正确的还是没有问题?

如果我错了,该如何解决?

amazon-cloudfront next.js next serverless
1个回答
0
投票

问题是您没有在服务器端处理路由。您实施的动态路由仅在浏览器中有效。因此您也需要在服务器端处理路由。

© www.soinside.com 2019 - 2024. All rights reserved.