@aglyn/shared-util-next

中文文档
1.19.0发布于 2026/11/07Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 9248

反钩和扶手 ?continue= 返回 URL 通过 Next.js App 路由器的登录流而不创建开放方向。 它被Aglyn控制台的登录页所使用,并可用于任何App路由器应用.

中文使用文档
文档目录5 节
  1. 安装
  2. 里面有什么东西
  3. 使用量
  4. 怎样才合适
  5. 许可证

@aglyn/ shared- util- next

反钩和扶手 ?continue= 返回 URL 通过 Next.js App 路由器的登录流而不创建开放方向。 它被Aglyn控制台的登录页所使用,并可用于任何App路由器应用.

从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .

安装

npm install @aglyn/shared-util-next

同伴依赖性 : next (单位:千美元)16.3.3和 react (单位:千美元)^19.2.8) (中文(简体) ).

里面有什么东西

1个客户模块('use client', (中文(简体) ), use-continue-url,从包根再导出:

  • useContinueUrl() - 回归 [encoded, decoded, pushNext]: 当前已编码的路径名 URL( 要输入到登录页面的链接), 已验证 continue 来自查询字符串(或 ''),并具有通向它的功能.
  • useContinueUrlDecoded() - 说吧 [decoded, pushNext]。 。 。 . pushNext(url = '/') 当有安全的 URL 时, 转到继续的 URL, 否则 url相对目标用途 router.push; 绝对使用 window.location.assign。 。 。 .
  • useContinueUrlEncoded() - 只编码当前路径名.
  • useContinueHref(path) - 一个 href 用于在当前页面中保存 continue 数值。 只读 useSearchParams,而不是路由器.
  • withContinueUrl(path, continueUrl) - 同样的,作为一个简单的功能。 不安全或空值.
  • isSafeContinueUrl(url) - 所有这一切背后的前提.
  • ContinueParamName (单位:千美元)'continue'和 continueParam(value)。 。 。 .

继续的 URL 被接受, 当它是一个相对路径, 解决到当前源头( 选中) isSameOriginPath 从 @aglyn/shared-util-http/safe-redirect),或绝对值 https: URL 主机是它的工作空间域或子域. 工作空间域来自 NEXT_PUBLIC_WORKSPACE_DOMAIN 默认为 aglyn.com,所以当您在 Aglyn 外使用这个时,设置变量。 其他一切皆被视为缺席.

使用量

'use client'

import { useContinueHref, useContinueUrlDecoded } from '@aglyn/shared-util-next'

export function AfterSignIn() {
  const [, pushNext] = useContinueUrlDecoded()
  const ssoHref = useContinueHref('/sso')

  return (
    <>
      <button onClick={() => pushNext('/dashboard')}>Continue</button>
      <a href={ssoHref}>Use single sign-on</a>
    </>
  )
}

钩子叫 useSearchParams,所以将它们置于 Suspense 按 Next.js 要求的边界.

怎样才合适

A 类 shared 软件包:通用,对Aglyn的模型一无所知。 共享软件包只能导入其他共享软件包; 此软件包取决于 @aglyn/shared-util-http。单列波中没有任何其他库依赖于它;控制台应用程序直接使用它.

许可证

阿帕奇2.0 (英语). 资料来源: https://github.com/aglyn/aglyn/tree/main/libs/shared/util/next 互联网档案馆的存檔,存档日期2014-12-21

版本与发布记录

@aglyn/shared-util-next 共发布 153 个版本,首次发布于 2026/09/21;过去 12 个月发布了 153 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.19.0latest2026/11/07今天
1.18.02026/11/07今天
1.17.02026/11/07今天
1.16.02026/11/07今天
1.15.22026/11/061 天前
1.15.12026/11/061 天前

其他发布通道:beta → 1.0.0-beta.296。

关于 @aglyn/shared-util-next 的常见问题

@aglyn/shared-util-next 是什么?

反钩和扶手 ?continue= 返回 URL 通过 Next.js App 路由器的登录流而不创建开放方向。 它被Aglyn控制台的登录页所使用,并可用于任何App路由器应用.

如何安装 @aglyn/shared-util-next?

在项目目录运行 npm install @aglyn/shared-util-next,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:next(^16.3.3)、react(^19.2.8)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aglyn/shared-util-next 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aglyn/shared-util-next 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aglyn/shared-util-next 可以商用吗?

@aglyn/shared-util-next 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aglyn/shared-util-next 的下载量有多少?

根据 npm 官方下载统计,@aglyn/shared-util-next 在 2026/10/05 – 2026/11/03 这 30 天内被下载 9,248 次,日均约 308 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aglyn/shared-util-next 还在维护吗?

最新版本 1.19.0 发布于 2026/11/07(今天);至今共发布 153 个版本,其中过去 12 个月发布了 153 个;首次发布于 2026/09/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。