我在模块中定义了一个类:
"use strict";
var AspectTypeModule = function() {};
module.exports = AspectTypeModule;
var AspectType = class AspectType {
// ...
};
module.export.AspectType = AspectType;
但是我收到以下错误消息:
TypeError: Cannot set property 'AspectType' of undefined
at Object.<anonymous> (...\AspectType.js:30:26)
at Module._compile (module.js:434:26)
....
我应该如何导出此类并在另一个模块中使用它?我看到了其他SO问题,但是当我尝试实现其解决方案时却收到其他错误消息。
最佳答案
如果在节点4中使用ES6,则没有转译器就无法使用ES6模块语法,但是CommonJS模块(节点的标准模块)的工作原理相同。
module.export.AspectType
应该
module.exports.AspectType
因此出现错误消息“无法设置未定义的属性'AspectType'”,因为
module.export === undefined
。另外,对于
var AspectType = class AspectType {
// ...
};
你能写吗
class AspectType {
// ...
}
并获得基本相同的行为。