【问题标题】:Type Error - Is Not a Constructor [duplicate]类型错误-不是构造函数[重复]
【发布时间】:2017-02-19 06:24:45
【问题描述】:

想要在 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 不是构造函数

【问题讨论】:

  • 从'./track'导入音轨

标签: javascript ecmascript-6 webpack transpiler


【解决方案1】:

您将Track 作为默认导出,因此您应该使用默认导入。改变

import { Track } from './track';

import Track from './track';

What is "export default" in javascript?


当您执行import { Track } from './track' 时,您正在尝试访问未定义的导出对象(即Track 类)的Track 属性(因此它不是构造函数)。

【讨论】:

    【解决方案2】:

    问题在于您在index.js 中导入Track 的方式。您需要像这样导入:

    import Track from './track';
    

    或者在track.js你需要像这样导出它:

    export {Track}
    

    【讨论】:

      猜你喜欢
      • 2018-08-18
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2013-09-26
      • 2023-02-16
      • 2019-09-01
      • 2020-02-18
      • 1970-01-01
      相关资源
      最近更新 更多