使用 cPanel 的 NodeJs 中的环境变量
Environment variables in NodeJs using cPanel
因此,我将 cPanel 与 Node.js 应用程序插件一起用于 Next.js 应用程序。 (不要问为什么cPanel)
在开发中一切都按预期工作,除了生产中的环境变量,我从 cPanel 界面手动设置它们,我 restarted/stopped 应用程序,在服务器上记录 process.env 和我在那里没有看到 env 变量(更不用说在尝试调用它们时它们是未定义的)。
做的时候
res.json(JSON.stringify(process.env));
我得到了一堆变量,除了我在 cPanel 变量界面中手动编写的那个。
将这些变量存储为密钥对我来说很重要,因为它们是 API 凭据。
有人知道我可能配置错误或遇到过这个问题吗?
没关系,找到答案了,显然是 Next.js 配置错误。我必须在 next.config.js
中添加以下代码行才能读取构建版本的环境变量。
require('dotenv').config();
module.exports = {
env: {
EMAIL_NAME: process.env.EMAIL_NAME,
EMAIL_PASSWORD: process.env.EMAIL_PASSWORD,
GETRESPONSE_API_KEY: process.env.GETRESPONSE_API_KEY
}
};
其中EMAIL_NAME、EMAIL_PASSWORD、GETRESPONSE_API_KEY是我在cPanel界面上定义的变量
因此,我将 cPanel 与 Node.js 应用程序插件一起用于 Next.js 应用程序。 (不要问为什么cPanel)
在开发中一切都按预期工作,除了生产中的环境变量,我从 cPanel 界面手动设置它们,我 restarted/stopped 应用程序,在服务器上记录 process.env 和我在那里没有看到 env 变量(更不用说在尝试调用它们时它们是未定义的)。
做的时候
res.json(JSON.stringify(process.env));
我得到了一堆变量,除了我在 cPanel 变量界面中手动编写的那个。
将这些变量存储为密钥对我来说很重要,因为它们是 API 凭据。
有人知道我可能配置错误或遇到过这个问题吗?
没关系,找到答案了,显然是 Next.js 配置错误。我必须在 next.config.js
中添加以下代码行才能读取构建版本的环境变量。
require('dotenv').config();
module.exports = {
env: {
EMAIL_NAME: process.env.EMAIL_NAME,
EMAIL_PASSWORD: process.env.EMAIL_PASSWORD,
GETRESPONSE_API_KEY: process.env.GETRESPONSE_API_KEY
}
};
其中EMAIL_NAME、EMAIL_PASSWORD、GETRESPONSE_API_KEY是我在cPanel界面上定义的变量