为Nextjs动态路由添加前缀

2023-12-15

我定义了很多路由,其中​​一条路由专用于用户配置文件。

每个用户都有一个可通过 HTTP://example.com/@username 访问的公共配置文件。

我尝试过创建文件pages/@[username].js但它似乎不起作用。

有没有办法在不通过用户名传递@符号的情况下实现这种行为,因为这会使index.js处理主页变得非常复杂,我希望将该代码分开。


你现在可以这样做next.config.js

module.exports = {
  async rewrites() {
    return [
      {
        source: '/@:username',
        destination: '/users/:username'
      }
    ]
  }
}

这将使任何链接到/@username/users/[username]文件,即使地址栏会显示/@username.

然后,在你的/pages/[username].tsx file:

import { useRouter } from 'next/router'

export default function UserPage() {
  const { query = {} } = useRouter()

  return <div>User name is {query.username || 'missing'}</div>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为Nextjs动态路由添加前缀 的相关文章

  • 如何在 Next.js 中从服务器获取 HOC 中的数据?

    我使用 Next js 创建了新应用程序9 3 1 在带有 SSR 的旧应用程序中 我可以使用getInitialProps函数在 HOC 组件中 而不是在页面中 因此我可以从 HOC 组件中的服务器和页面中获取数据 像这样https gi
  • 为什么上下文组件在 NextJs 页面路由期间重新评估?

    给定一个基本的 NextJs 应用程序 其中包含一个简单的上下文组件和几个页面 AppContextWrapper js export function AppContextWrapper props console log AppCont
  • Next.js:如何更改特定页面上根 div __next 的 css?

    我想改变div的id next在登录页面上 但是当我在 jsx 中添加样式时 它似乎更改为另一个带有 id 的 div next jsx 2357705899 main jsx 2357705899当dom挂载到页面时 我怎样才能改变CSS
  • 在本地主机上运行时 Google Optimize 不会触发

    我正在尝试通过以下方式在 JavaScript 中获取 Google Optimize 实验数据这些说明 https support google com optimize answer 9059383 但我没有得到回调 也看不到调试器中发
  • Next12 中带有 Prisma 适配器的 NextAuth 凭证提供程序不执行任何操作

    我已经设置了我的Nextjs Next12 with NextAuth 凭证提供者并使用棱镜适配器将用户会话保留在数据库中 我跟着这个文档 https next auth js org adapters prisma来自 NextAuth
  • 使用 NextJS API 发送文件作为响应

    正如标题所示 在 NodeJs Express 中 我可以使用以下行返回一个文件作为响应 res sendFile absolute path to the file 假设我想从 NextJs 目录中的输出文件夹返回单个图像 如何使用 Ne
  • 如何将 SVG 导入 Next.js 组件?

    我正在尝试将 SVG 图像从文件导入到 Next js 组件中 在资产文件夹中 我有 google svg 图标
  • nextjs 动态路由渲染内容不起作用

    我被这个问题困扰了很多天 我在用Next js https nextjs org 并有 3 页 页面 index js 页面 categories js 页面 类别 slug js The categories slug js正在使用Nex
  • 分配失败 - JavaScript 堆内存不足

    我正在开发一个使用 NextJs 和 ReactJs 开发的项目 突然这个项目出现了分配失败 JavaScript 堆内存不足问题 我已经尝试了网上的所有资源 但是这些资源对我不起作用 我想 也许 next config js 或 webp
  • 返回 React 组件的 Promise 函数

    有没有人修复这个 if else 在运行构建中不起作用 但在运行开发中起作用 实现这项工作的唯一方法是使用反应钩子 但我完全不知道使用哪个钩子以及在哪里实现它 import useAddress from thirdweb dev reac
  • 连接 Apollo 和 mongodb

    我想将我的 Apollo 服务器与我的 mongoDB 连接 我知道那里有很多例子 但我陷入了异步部分 没有找到解决方案或示例 这很奇怪 我完全错了吗 我从 next js 的示例开始https github com zeit next j
  • Next Js服务器端Api读写JSON

    我正在尝试使用 Next js 为自己编写一个基本的本地 api 它是一个时间线生成器 而我却陷入了实际从 api 文件夹中读取文件的困境 我想要在本地应用程序中得到什么 1 一个简单的页面 我可以在其中输入事件 以及日期和描述 2 在某处
  • 如何使用 API 路由在 Next.js 上下载文件

    我正在使用 next js 我有一个第三方服务 我需要从中检索 PDF 文件 该服务需要一个 API 密钥 我不想在客户端公开该密钥 这是我的文件 api getPDFFile js const options method GET enc
  • ReferenceError:使用 CKEditor 时未定义 self [重复]

    这个问题在这里已经有答案了 ReferenceError 导入 CKEditor 时未定义 self 我正在使用 next js import CKEditor from ckeditor ckeditor5 react 已经安装使用 np
  • 无法在 _app.js 中使用 getStaticProps

    我正在使用 next js 并尝试执行以下操作 获取 app js中与用户数据相关的基本数据 该数据包括标题 用于导航栏 和一些社交链接 用于页脚 在构建时将该数据传递给其他组件 例如页脚和导航栏 用于静态站点生成 为此我已经导出了getS
  • Oauth2 Google 身份验证流程 - Next.JS / Express

    我正在使用 React Next Js 前端 并尝试通过 Google 的 Oauth2 策略实现身份验证 我对这个过程感到非常困惑 目前在客户端上 我有一个 Google 登录组件 其中包含客户端 ID 并且可以检索访问令牌
  • next-auth google 提供商无法正常工作,访问被阻止:此应用程序的请求无效

    这整个星 期我都在摸索 我已经尝试了几乎所有的方法 我正在尝试使用 next auth google 提供商 在 GCP 中 在授权网址和重定向网址中 本地主机 3000 真实域名网站 本地主机 3000 api auth callback
  • 通过内联样式动态设置背景 Div 图像时不显示 | Next.Js

    我试图通过使用地图和外部 js 文件将图像存储为对象来从组件渲染图像 然后通过它们设置循环 将其设置为创建的每个 div 的不同背景图像 如果有意义的话 我将提供代码来更清楚地说明我想要完成的任务 在地图过程中 我试图定位对象方法 但我相信
  • 在 NextJS 上运行开发服务器(在网络上)

    在使用 ReactJS 时 当我们使用命令 npm start 时 它会在 localhost 3000 以及网络 192 168 1 2 3000 上启动开发服务器 这非常简单 我可以通过进入该地址在所有设备上测试我的应用程序 最近我开始
  • 如何使用 Next Script 精确控制脚本标签的插入位置

    我目前正在尝试将第三方脚本添加到我的 Next js 应用程序中 该脚本会在脚本标签正下方插入一个 iframe 所以我需要精确控制脚本标签在页面上的位置 我目前正在使用下一个 脚本 https nextjs org docs api re

随机推荐

  • Bootstrap 手风琴防止在 asp.net 回发时崩溃

    我有一个引导手风琴 我尝试在回发时重新打开最后打开的窗格 就像有人单击我页面上的保存按钮一样 我找到了这个解决方案 在页面刷新 导航时保留 Twitter Bootstrap 折叠状态 但我无法对此发表评论 因为我作为用户没有足够的积分 由
  • 回调函数示例

    我很难理解如何callback 函数在以下代码块中使用 我们如何使用callback 作为一个函数 在函数体内 当function callback 还没有定义 将 true false 作为参数传递到下面的回调函数中会有什么影响 感谢您的
  • Haskell 树上折叠的变化

    给定一棵树定义为 data Tree a Leaf Node Tree a a Tree a deriving Eq Show 我想使用该功能 foldTree b gt a gt b gt b gt b gt Tree a gt b fo
  • 如何阻止 Filezilla 更改我的换行符?

    我正在从 Linux Web 服务器下载 perl CGI 文件 它有 Unix 换行符 我在 Windows PC 上用一个不错的文本编辑器 Geany 编辑它 它保留了这些换行符 然后我用 Filezilla 再次上传它 它有 DOS
  • 如何在 Python 中将数字列表转换为 jsonarray

    我有以下格式的一行 row 1L 0 1 0 2 1234L 1 134L 2 现在 我想要在文件中写入以下内容 1 0 1 0 2 1234 1 134 2 基本上将上面转换为 jsonarray 吗 Python 中是否有内置方法 库或
  • 如何解决 org.postgresql.jdbc.PgConnection.createClob() 尚未实现

    例外情况 当启动 spring boot 应用程序时 我收到了 引起原因 java sql SQLFeatureNotSupportedException 方法 org postgresql jdbc PgConnection create
  • 如何在禁用 SSL 卸载的情况下使 ARR 正常工作? 502.3 错误网关

    所以我已经遇到这个错误好几天了 我用谷歌搜索了又搜索 但似乎没有什么可以解决我的情况 我希望有人可以提供帮助 问题 当我在 ARR 路由规则 中禁用 SSL 卸载时 我收到以下信息 502 Web 服务器在充当 Web 服务器时收到无效响应
  • 学习使用 Xcode 和 Objective-C 基础知识进行 iPhone 开发的最佳地点是哪里? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 当我说最好的地方时 我指的是实体课程 研讨会 讲习班等 它可能遍布世界各地 Thanks 我会避开神学院来学习 Objective C 我听说过关于大书呆子牧场培训班
  • C++ 多重继承转换如何工作?

    这个问题帮助我理解了一些 但我的问题与他们的略有不同 据我了解 C 中的基本类型转换涉及将内存中的结构重新解释为不同的结构 例如 class Building int sqFootage class Office public Buildi
  • RMarkdown 生成 HTML 文档注释/评论窗格

    我正在从 Word 文档报告转向使用 RMarkdown 生成的 HTML 文件 然而 我的客户在放弃 Word 后会错过的一大功能是能够轻松地直接向文档添加注释 是否存在一些 HTML Java 等代码片段 可以在 HTML 文档的一侧添
  • ASP GridView 在按钮单击时获取行值

    我正在做什么 单击图像按钮时重置用户密码 到目前为止已完成 添加了 GridViewCommandEventHandler 它正确触发 使用代码来自MSDN 我的 e CommandArgument 得到一个空字符串 并且在运行时抛出错误
  • 运行节点应用程序时 bcrypt 无效的 elf 标头

    我正在为学校开发一个 Nodejs 项目 我无法使用 npm 安装 bcrypt 所以我安装了 bcrypt nodejs 并且该项目昨天运行良好 但是今天 当我做 节点应用程序 时 我遇到了这个错误 node modules bcrypt
  • PHP $_REQUEST 作为数组

    我有一个搜索表单 我想将搜索词作为数组 REQUEST 这样我就可以列出每个搜索词 将每个搜索词包装在一个跨度中以进行样式设置 我怎么做 编辑 这是请求的代码
  • Swift 3.0 无法解析 DispatchQueue 的标识符

    我几个小时以来一直试图找到这个问题的答案 但仍然无济于事 我正在尝试使用以下代码 func fetchPosts ref child Amore child Posts observeSingleEventOfType Value with
  • 我正在尝试将 SFTP 文件(SAS 数据集或令牌)从一台服务器传输到 SAS 中的另一台服务器

    这是我第一次尝试使用 SAS 对文件进行 SFTP 我尝试使用文件名语句 但出现了一些错误 let user userid filename source sftp input sas7bdat user user pass passwor
  • 如何使用多部分实体将图像上传到服务器?

    我正在创建一个应用程序 并在我的应用程序中添加了一个选项来从图库浏览图像 然后上传到服务器 我之前问过这个问题 但没有得到好的答案 为了上传图像 我正在遵循本教程http mayanklangalia blogspot in 2014 04
  • 在 DLL 上使用 WPF 动态创建图像(而不是 GDI+)

    我需要动态生成图像 在阅读教程后here我意识到我可以使用 WPF 中的所有控件和布局来生成渲染 然后将其另存为 JPG 这个想法是使用它来代替 GDI 这是相当原始的 问题是 如何创建一个常规 dll 文件 该文件将以编程方式生成 WPF
  • 使用进程构建器执行两个命令

    我正在尝试编写一个程序 从命令提示符编译另一个 java 文件 不过我有一个问题 此时 它已成功执行编译 Mocha java 的第一部分 但是 我希望它也执行该文件并显示它的输出内容 它什么也没显示 有什么建议么 pb new Proce
  • 以编程方式将加载项宏添加到快速访问工具栏

    我有一个用于格式化 Excel 报告的宏 该宏需要在许多不同的工作簿上运行 因为每天都会生成报告并将其保存到新文件中 这已经在我的个人作业簿中了 我现在需要分享这个宏 我的计划是将该加载项放在我的本地加载项文件夹中 在那里进行任何更新并运行
  • 为Nextjs动态路由添加前缀

    我定义了很多路由 其中 一条路由专用于用户配置文件 每个用户都有一个可通过 HTTP example com username 访问的公共配置文件 我尝试过创建文件pages username js但它似乎不起作用 有没有办法在不通过用户名