Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误处理程序中未定义配置参数_Javascript_Node.js_Express - Fatal编程技术网

Javascript 错误处理程序中未定义配置参数

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

我有一个配置文件,它只是将process.env数据设置为params。 它运行良好,我可以在任何地方正确使用它,但在我的意外异常处理程序中,我无法使用它。。。配置文件中的所有参数都未定义

我的配置文件:

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