node.js - 如何在 Next.js 中使用连字符创建动态 url?
问题描述
我需要在 Next.js 中创建一个动态路径,例如“courses-demo-[dynamic_name]”。我创建了这样的嵌套文件夹:
- 课程演示
- [...蛞蝓]
- 索引.ts
- [...蛞蝓]
这个文件夹结构只支持/courses-demo/a,/courses-demo/b/c等路径。但我想要一个这样的 URL:/courses-demo-photograpy,courses-demo-web-development,还有许多动态名称。我怎么能这样做?
解决方案
你可以[slug].js
在你的/pages
目录中创建一个文件,然后使用 javascript 来提取实际的 slug 来获取内容。由于静态和动态部分都可以有连字符,你不能只分割连字符,所以你可以做这样的事情来获得适当的静态和动态部分,像这样:
// You will obviously get this from the URL, not hard-coded like here
let params = {
slug: 'courses-demo-photography'
}
// List all of your possible categories
let categories = [
'courses-demo',
'courses-paid'
];
let category = categories.reduce(cat => params.slug.startsWith(cat) && cat)
let dynamicPart = params.slug.substring(category.length + 1)
console.log(category)
console.log(dynamicPart)
推荐阅读
- r - UseMethod(“cld”)中的错误:没有适用于“cld”的方法应用于“emmGrid”类的对象
- visual-c++ - 警告 C26451 算术溢出:使用运算符“-”
- vuejs2 - 如何用电容器打开磁盘文件?
- javascript - 如何按名字和姓氏过滤此列表?
- java - 我对 SpringApplicationBuilder 的用例感到困惑
- ios - Swift 中的主页跳转登录功能
- typescript - 状态变化时如何防止 FlatList 重新渲染
- sql - 用于查找注册特定课程的学生的 sql 查询/子查询
- python - TF-IDF 和余弦相似度的模糊匹配不够准确
- python - 检查域的img的脚本