打字稿/角度CLI:导出

时间:2017-11-11 11:02:43

标签: angular typescript angular-cli

我创建了一个打印我所有模型的打字稿文件:

// models.ts

export { TestModel, ITestModel } from './generatedModels/test.model';
export { Test2Model, ITest2Model } from './generatedModels/test2.model';

所有模型文件都导入关系的model.ts(在以下示例中为

//test.model.ts

import * as Models from '../models';

export interface ITestModel  {
    testString: string;
    testRelation: Models.ITest2Model;
}

export class TestModel implements ITestModel {
    public testString: string;
    public testRelation: Models.ITest2Model;
}

通过这种方式,我得到以下构建警告:WARNING in Circular dependency detected

但主要的问题是,我得到了运行时错误:

test2.model.ts:7 Uncaught TypeError: Object prototype may only be an Object or null: undefined
at setPrototypeOf (<anonymous>)
at __extends (test2.model.ts:7)
at eval (test2.model.ts:12)
at eval (test2.model.ts:30)

我可以通过在models.ts上导入所需的相关模型来解决问题:在此示例中,将import * as Models from '../models';替换为import { Test1Type } from '../models';。但我需要一种方法来访问所有模型,因为模型文件(test.model.ts,test2.model.ts,...)将使用Typewriter(VS Extension)自动生成。

受影响的项目是角项目(角度cli 1.5.0,角度5.0.1,打字稿2.4.2)

在另一个没有使用angular cli生成的项目中,不使用webpack,这种方法可行。那么问题可能是webpack吗?

有人知道,我怎么能避免运行时错误?

谢谢!

0 个答案:

没有答案