TypeScript和ng2 rc.1获取错误:(20,15)TS2304:找不到名称'模块'

时间:2016-05-07 20:20:02

标签: typescript angular

TypeScript和ng2 rc.1获取错误:(20,15)TS2304:找不到名称'模块'。

尝试使用模块指令时

@Component({
    selector: 'Notes1',
    moduleId: module.id,
    directives: [ModalDialog, FORM_DIRECTIVES, DisplayError],
    templateUrl: 'Notes1.html',
    styleUrls: ['Notes1.css']
})

任何想法如何修复TS错误..一切都在运行时正常工作

问候

肖恩

2 个答案:

答案 0 :(得分:2)

错误意味着TypeScript编译器不知道module是什么。为了快速解决问题:

declare var require: any;

要使其更完整,请使用DefinitelyTyped/node中的定义:

interface NodeRequireFunction {
    (id: string): any;
}

interface NodeRequire extends NodeRequireFunction {
    resolve(id:string): string;
    cache: any;
    extensions: any;
    main: any;
}

declare var require: NodeRequire;

interface NodeModule {
    exports: any;
    require: NodeRequireFunction;
    id: string;
    filename: string;
    loaded: boolean;
    parent: any;
    children: any[];
}

declare var module: NodeModule;

答案 1 :(得分:-1)

我修复此问题的方法是在我的tsconfig文件中添加像“moduleId”:“commonjs”这样的模块之后的Id,错误就消失了!

希望这有帮助, 吉姆