作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我只是将代码用作有关 JavaScript 类的学习练习。
代码产生“类型错误:SimpleLogger 不是构造函数”。该类似乎已导出 好的,但我无法在 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');
错误发生在最后一行。
最佳答案
您正在导出一个同时包含 SimpleLogger
和 DEFAULT_LEVEL
的对象,因此要在 main.js 中使用它,您需要像这样正确地引用它
const SimpleLogger = require('./simplelogger.js').SimpleLogger;
let log = new SimpleLogger('info');
如果您只想导出 SimpleLogger
,您可以像这样更改导出
module.exports = SimpleLogger
然后您可以像在代码中那样要求 SimpleLogger
。
关于javascript - 类型错误 : is not a constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55318369/
我是一名优秀的程序员,十分优秀!