【发布时间】:2016-11-10 06:53:13
【问题描述】:
这看起来很简单,但我是一个 node/javascript 新手。如何使用节点 7.0.0 从另一个文件导入类?
我在一个文件中定义了我的类:
'use strict';
class MyClass {
...
};
module.exports = MyClass;
我想在另一个类中使用它:
var MyClass = require('./path/to/otherfile');
...
var myclass = new MyClass(some param);
但我的 linter 提示错误
TypeError: Class constructor MyClass cannot be invoked without 'new'
【问题讨论】:
-
Node 会抛出错误吗?如果只是棉绒,那有关系吗?
-
您可能在代码中的其他位置调用了
MyClass()而没有new关键字。 -
如果你这样做
module.exports.MyClass是否仍然显示该错误 -
你为什么不用
export default MyClass? -
@Cruiser 使用
module.exports.MyClass = MyClass;会破坏代码而不是修复它。如果您按照您的建议进行操作,那么您要么必须在require行中使用var MyClass = require('./path/to/otherfile').MyClass;,要么在构造函数调用中使用var myclass = new MyClass.MyClass();,这不是调用代码的样子。请参阅下面的my answer。
标签: javascript node.js