首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Next.js 16 proxy.ts 里面读取不到环境变量,请帮忙看看?

Next.js 16 proxy.ts 里面读取不到环境变量,请帮忙看看?

提问于 2026-07-20 21:32:56
回答 0关注 0查看 1
代码语言:typescript
复制
export async function proxy(...args: any[]) {
  const request: NextRequest = args[0]
  const { pathname } = request.nextUrl

  try {
    // 读取 Cookie 中的 Token
    const token = request.cookies.get('auth_token')?.value

    if (!token) {
      throw new Error('未找到 auth_token cookie,请重新登录')
    }

    // 验证 token(每一步失败都会抛出具体异常信息)
    await verifyTokenDebug(token)
  } catch (e) {
    const errorMessage = e instanceof Error ? e.message : String(e)

    // API 请求返回 401 JSON
    if (isApiRequest(pathname)) {
      return NextResponse.json(
        { error: '未登录或会话已过期', errorMessage, args: JSON.stringify(args) },
        { status: 401 },
      )
    }

    // 页面请求重定向至登录页
    const loginUrl = new URL('/login', request.url)
    // 保留原始路径作为重定向参数,登录后可跳回
    loginUrl.searchParams.set('redirect', pathname)
    return NextResponse.redirect(loginUrl)
  }

  return NextResponse.next()
}

读取到的 json 如下,没有 env:

代码语言:json
复制
[
    {
        "__edgeone_nextInternal": {
            "cookies": {
                "_parsed": {},
                "_headers": {}
            },
            "nextUrl": "https://bill-assistant-dp2dpo4ooj6r.edgeone.cool/api/rules",
            "url": "https://bill-assistant-dp2dpo4ooj6r.edgeone.cool/api/rules"
        },
        "nextUrl": "https://bill-assistant-dp2dpo4ooj6r.edgeone.cool/api/rules",
        "cookies": {
            "_parsed": {},
            "_headers": {}
        },
        "sourcePage": "/proxy"
    },
    {
        "sourcePage": "/proxy"
    }
]

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档