Javascript 错误处理程序中未定义配置参数
我有一个配置文件,它只是将process.env数据设置为params。 它运行良好,我可以在任何地方正确使用它,但在我的意外异常处理程序中,我无法使用它。。。配置文件中的所有参数都未定义 我的配置文件:Javascript 错误处理程序中未定义配置参数,javascript,node.js,express,Javascript,Node.js,Express,我有一个配置文件,它只是将process.env数据设置为params。 它运行良好,我可以在任何地方正确使用它,但在我的意外异常处理程序中,我无法使用它。。。配置文件中的所有参数都未定义 我的配置文件: module.exports = { env: process.env.NODE_ENV, }; 以下是我的未捕获异常捕获器: process.on('uncaughtException', (error) => { errorManagement.handler.ha
module.exports = {
env: process.env.NODE_ENV,
};
以下是我的未捕获异常捕获器:
process.on('uncaughtException', (error) => {
errorManagement.handler.handleError(error);
if (!errorManagement.handler.isTrustedError(error)) process.exit(1);
});
这里是错误处理程序,env未定义,其他地方都定义了env
const {
env,
} = require('../../config');
const logger = require('../../libraries/logger');
const mailer = require('../../libraries/mailer');
function ErrorHandler() {
this.handleError = async (err) => {
console.log(env);
};
}
module.exports.handler = new ErrorHandler();
我的项目文件夹的目录树:
编辑:
我发现了问题,但我仍然不知道为什么会发生。。。
在我的config.js文件中,我执行了以下操作:
const errorManager = require('./components/errorManagement');
[
'DB_USER',
].forEach((name) => {
if (typeof process.env[name] === 'undefined') {
throw new errorManager.AppError('Environment var missing', 500, `Environment variable ${name} is missing`, true);
}
});
当我删除错误管理器并使用express error时,一切都正常运行你能在你的项目文件夹中运行一个
树
,这样我们就可以看到你的结构是如何设置的吗?@mralanlee done config.js在哪里?它也在根目录中吗?是@SándorBakos@ronmar您如何设置您的节点\u ENV
<代码>节点_ENV应在每次进程退出时取消设置。通常我在运行脚本中设置的是NODE\u ENV=dev NODE index.js
您能在项目文件夹中运行一个树
,这样我们就可以看到您的结构是如何设置的吗?@mralanlee doneConfig.js在哪里?它也在根目录中吗?是@SándorBakos@ronmar您如何设置您的节点\u ENV
<代码>节点_ENV应在每次进程退出时取消设置。通常我在运行脚本中设置的是NODE\u ENV=dev NODE index.js