在前端开发中,通常需要使用环境变量来传递一些配置信息,例如 API 地址和密钥等等。而在 Next.js 中,我们可以轻松地在代码中获取到这些环境变量。本文将介绍如何在 Next.js 中配置和使用环境变量。
配置环境变量
在 Next.js 中,我们可以使用 .env.local
文件来配置环境变量。这个文件应该在项目根目录下,并且不应该被提交到版本控制系统中。在这个文件中,我们可以通过 KEY=VALUE
的形式定义环境变量,例如:
API_URL=https://api.example.com API_KEY=12345
这样就定义了两个环境变量 API_URL
和 API_KEY
,值分别为 https://api.example.com
和 12345
。
除了 .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