繁体   English   中英

TypeError:不是构造函数

[英]TypeError: is not a constructor

我只是将代码用作关于JavaScript类的学习练习。

代码生成“TypeError:SimpleLogger不是构造函数”。 该类似乎导出Ok但我无法在main.js文件中实例化它。

我已经减少了代码以显示问题。 我想知道是否有人能发现问题。 谢谢。

// In simplelogger.js
"use strict";
class SimpleLogger {
    constructor(level) {
        this.level = level || DEFAULT_LEVEL;
    }

    // .... other methods
}

const DEFAULT_LEVEL = 'info';

module.exports = {
    SimpleLogger,
    DEFAULT_LEVEL
}

// In main.js
"use strict";
const SimpleLogger = require('./simplelogger.js');

let log = new SimpleLogger('info');

错误在最后一行产生。

您正在导出包含SimpleLoggerDEFAULT_LEVEL的对象,因此要在main.js中使用它,您需要正确引用它

const SimpleLogger = require('./simplelogger.js').SimpleLogger;
let log = new SimpleLogger('info');

如果您只想导出SimpleLogger ,可以像这样更改导出

module.exports = SimpleLogger

然后,您可以像在代码中一样使用SimpleLogger

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM