想要在ES6 javascript中实例化一个模块并转换为ES5。我在我的项目中设置了一个新类,即es6 / webpack。 我有2个文件: track.js有以下内容 -
export default class Track {
constructor() {
this.o = {};
}
}
另一个是index.js -
import { Track } from './track';
const track = new Track();
console.log(track);
我正在尝试让控制台日志显示一个空对象。 相反,我得到 - 未捕获的TypeError:_track.Track不是构造函数
答案 0 :(得分:8)
您默认导出Track
,因此您应该使用默认导入。变化
import { Track } from './track';
到
import Track from './track';
请参阅What is "export default" in javascript?
执行import { Track } from './track'
时,您试图访问导出对象的Track
属性(Track类),这是未定义的(因此它不是构造函数)。
答案 1 :(得分:5)
问题在于您在Track
中导入index.js
的方式。您需要像这样导入:
import Track from './track';
或者在track.js
中你需要像这样导出它:
export {Track}