打字稿:未捕获的ReferenceError:未定义变形

时间:2018-05-28 22:58:34

标签: node.js typescript

我收到以下错误:

Uncaught ReferenceError: Morph is not defined
    at sketch (sketch.ts:7)
    at new p5 (sketch.ts:28)
    at Object.<anonymous> (sketch.ts:28)
    at c (sketch.ts:28)
    at Function.r.import (sketch.ts:28)
    at sketch.ts:28

morph.tssketch.ts位于同一文件夹中,这是sketch.ts

import 'p5'
import './morph'


var sketch = (p: p5) => {

    const morph = new Morph();

    p.preload = () => {

    }

    p.setup = () => {
        p.createCanvas(p.windowWidth, p.windowHeight);
        morph.setup(p);
    }

    p.windowResized = () => {
        p.resizeCanvas(p.windowWidth, p.windowHeight);
    }

    p.draw = () => {
        p.background(100);
        morph.draw(p);        
    }
}

var sketchP = new p5(sketch);

为什么导入morph.ts不起作用。我错过了什么?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您必须将所有内容导入为命名空间,默认导出或特定导出。因此,例如,由于您的代码表明Morph是一个类,因此应将其标记为导出类或默认导出。我更喜欢不使用默认导出,因此我会确保将Morph导出到您声明的位置:

export class Morph {

然后在你的sketch.ts中执行以下操作以导入Morph类:

import { Morph } from './morph'