【问题标题】:Get env variables inside _middleware Next.js在 _middleware Next.js 中获取环境变量
【发布时间】:2022-02-12 22:43:03
【问题描述】:

在我的 nextjs 项目中,我在 .env 和 next.conf.js 文件中都添加了变量。在 next.conf.js 文件中,它看起来像这样

module.exports = {
  env: {
    NEXT_PUBLIC_JWT_SECRET: "...",
  },
  publicRuntimeConfig: {
    NEXT_PUBLIC_JWT_SECRET: "...",
    API_JWT_SECRET: process.env.API_JWT_SECRET,
  },
  serverRuntimeConfig: {
    // Will only be available on the server side
    NEXT_PUBLIC_JWT_SECRET: "...",
    secondSecret: process.env.JWT_SECRET, // Pass through env variables
  },
};

我已经尝试了所有这些方法来获取我的 _middleware 文件中的秘密 ket,但它们都没有奏效。从this github 问题我认为有办法做到这一点。那么你能告诉我在 _middleware 中获取秘密 ket 的正确方法吗?

【问题讨论】:

    标签: javascript reactjs next.js environment-variables


    【解决方案1】:

    正如hugefunwoo 所说

    Next.js 将在构建时将 process.env.customKey 替换为“my-value”。由于 webpack DefinePlugin 的性质,尝试解构 process.env 变量是行不通的。

    const { JWT_SECRET } = process.env 
    

    这将返回 undefind 所以我不得不将其替换为

    const JWT_SECRET = process.env.JWT_SECRET
    

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 2013-08-10
      • 2013-03-02
      相关资源
      最近更新 更多