【问题标题】:Error: Cannot read property 'request' of undefined错误:无法读取未定义的属性“请求”
【发布时间】:2021-12-16 17:40:41
【问题描述】:

我正在尝试从一个模块文件中导出一个函数,文件名为 logger.d.ts

import { Logger, LoggerSettings } from '../interfaces';
import { Audit } from './audit';
declare class MyLogger implements Logger {
    private winstonLogger;
    constructor(winstonLogger: any);
    error(logObj: any): void;
    warn(logObj: any): void;
    info(logObj: any): void;
    debug(logObj: any): void;
    verbose(logObj: any): void;
    silly(logObj: any): void;
}
export declare function createLogger(settings?: LoggerSettings): {
    audit: Audit;
    logger: MyLogger;
};
export {};

我正在尝试像这样导入它

const { createLogger } = require('@website/website-node-logger');
const { audit } = createLogger;

并在同一个文件中使用它

audit.request({
  requestId: uuidv4(),
  email: user._id,
  type: constants.AUDIT_LOGS_TYPES.ARCHIVED_OLD_DATA,
  data: auditData,
  time: new Date().toLocaleString()
});

文件路径完全正确

【问题讨论】:

    标签: node.js typescript .d.ts


    【解决方案1】:

    createLogger 是一个函数。你应该这样做const { audit } = createLogger();

    【讨论】:

    • winston.transports.DailyRotateFile 不是构造函数
    • 这是什么意思?您上面的代码不会在 winston.transports.DailyRotateFile 上调用 new ,也不暗示它不可调用
    • @KanishkAnand 这个函数如何获得审计和记录?你不觉得函数本身有问题吗。
    • @ApoorvaChikara 我同意。两个代码 sn-ps 似乎都处于断开状态
    猜你喜欢
    • 2017-11-20
    • 2021-08-23
    • 2021-12-10
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多