2696ec86927f07026cc22f923254c7ec0e738fe5
iam-front
统一认证前端(SSO 登录页),基于 Next.js 16(App Router)+ TypeScript + Tailwind CSS + shadcn/ui。
本地启动
- 复制环境变量:
cp .env.example .env
- 安装依赖并启动:
npm install
npm run dev
说明:本项目使用 Turbopack 开发模式(
next dev --turbopack)。遇到 Linux file watch 限制(ENOSPC)时会自动使用 polling(不影响 Fast Refresh,但可能略增 CPU)。
组件使用示例
统一登录页默认使用带 Tabs 切换的组件(登录/注册):
- 页面路由:login/page.tsx
- 组件入口:login-form.tsx
示例(页面内):
<LoginFormCard
clientId={searchParams.clientId ?? ""}
tenantId={searchParams.tenantId ?? ""}
callback={searchParams.callback ?? ""}
initialEmail={rememberedEmail}
/>
常见问题
1) ENOSPC: System limit for number of file watchers reached
这是 Linux inotify 文件监听数量上限过低导致(Next.js/Turbopack 在 dev 模式需要文件监听,超过上限会报错)。
本项目在 next.config.js 中做了自动降级:当检测到上限偏低时,会启用 polling watcher 来避免启动失败(可能会略增 CPU 占用)。
你也可以手动启用 polling:
npm run dev:poll
如需从根源修复(需要 sudo 权限),可提高系统上限(示例):
sudo sysctl -w fs.inotify.max_user_watches=524288
sudo sysctl -w fs.inotify.max_user_instances=1024
Description
Languages
TypeScript
83.9%
CSS
6.3%
Shell
4.7%
Dockerfile
3.8%
JavaScript
1.3%