在NextJs中访问变量

时间:2020-11-11 18:25:42

标签: next.js

我想在NEXTjs应用程序中使用变量。为此,我做到了:

  1. 创建的文件:.env.local,其中:

DB_HOST=localhost
DB_USER=myuser
DB_PASS=mypassword

我想访问此文件:console.log(process.env.DB_HOST, 'local variables')
执行此操作时,我得到undefined。为什么会发生,以及如何获取变量?

2 个答案:

答案 0 :(得分:1)

如果你使用的 nextjs 高于 9.4 你可以使用 next.config.js

来自 nextjs 文档的片段 https://nextjs.org/docs/api-reference/next.config.js/environment-variables

要将环境变量添加到 JavaScript 包,请打开 next.config.js 并添加 env 配置:

module.exports = {
  env: {
    customKey: 'my-value',
  },
}

答案 1 :(得分:0)

如果要访问客户端和服务器端的环境变量,则必须在它们前面加上NEXT_PUBLIC

NEXT_PUBLIC_DB_HOST=localhost
NEXT_PUBLIC_DB_USER=myuser
NEXT_PUBLIC_DB_PASS=mypassword

如果您只打算在服务器端使用它们,那么您的示例将起作用

DB_HOST=localhost
DB_USER=myuser
DB_PASS=mypassword