在同一目录中找不到模块的名称

时间:2016-02-26 09:12:17

标签: typescript

代码编译并运行,但是我遇到了类型检查错误,这会导致很多文件和变量爆炸。这是一个例子。

Test1.ts

import Test2 = require('./Test2');

class Test1 {
    test2: Test2;
    constructor() {
        this.test2 = new Test2();
    }
}

console.log(new Test1());

Test2.ts

export = class Test2 {
    prop: number;
    constructor() {
        this.prop = 5;
    }
}

正在运行tsc --module commonjs Test1.ts会出现此错误:

Test1.ts(4,12): error TS2304: Cannot find name 'Test2'.

运行代码输出:

Test1 { test2: Test2 { prop: 5 } }

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

不要使用export = / import = syntax。最好这样做:

Test1.ts

import {Test2} from './Test2';

class Test1 
{
    test2: Test2;
    constructor() {
        this.test2 = new Test2();
    }
}

console.log(new Test1());

Test2.ts

export class Test2 
{
    prop: number;
    constructor() 
    {
        this.prop = 5;
    }
}