Next.js 环境变量配置指南

阅读时长 3 分钟读完

在前端开发中,通常需要使用环境变量来传递一些配置信息,例如 API 地址和密钥等等。而在 Next.js 中,我们可以轻松地在代码中获取到这些环境变量。本文将介绍如何在 Next.js 中配置和使用环境变量。

配置环境变量

在 Next.js 中,我们可以使用 .env.local 文件来配置环境变量。这个文件应该在项目根目录下,并且不应该被提交到版本控制系统中。在这个文件中,我们可以通过 KEY=VALUE 的形式定义环境变量,例如:

这样就定义了两个环境变量 API_URLAPI_KEY,值分别为 https://api.example.com12345

除了 .env.local 文件以外,我们还可以通过 .env.env.[mode] 文件来定义环境变量。.env 文件定义的变量是全局的,而 .env.[mode] 文件只会在特定的环境模式中生效(例如 .env.production 文件只会在生产环境中生效)。

使用环境变量

在 Next.js 中,我们可以使用 process.env 对象来获取到环境变量。例如,我们可以在页面中获取到 API_URL 环境变量:

-- -------------------- ---- -------
------ ----- ---- -------

------ ------- -------- ------ -
  ------ -
    -----
      --- ---- ---------------------
    ------
  -
-

这样就可以在页面中显示出 https://api.example.com

如果环境变量的值是一个敏感信息,例如密码或密钥等等,我们应该避免将其直接暴露在浏览器端代码中,因为这可能会引起安全问题。一个解决办法是在服务端中使用环境变量,并将结果作为 props 传递给页面:

-- -------------------- ---- -------
------ ----- ---- -------

------ ----- -------- -------------------- -
  ------ -
    ------ -
      ------- ------------------
    -
  -
-

------ ------- -------- ------ ------ -- -
  ------ -
    -----
      ------- --------
    ------
  -
-

在这个例子中,我们通过 getServerSideProps 方法从服务端中获取环境变量并将其作为 secret prop 传递给页面,而这个 secret prop 将不会暴露在浏览器端。

总结

在 Next.js 中,我们可以使用 .env.local 文件来定义环境变量。通过 process.env 对象,我们可以轻松地在代码中获取到这些环境变量。如果环境变量的值是敏感信息,我们应该避免将其直接暴露在浏览器端代码中,而是在服务端中使用它们。希望本文能够帮助你更好地理解和使用 Next.js 中的环境变量。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a2bf8948841e9894f3776c

纠错
反馈