As you proceed using TypeScript in large projects, you will end up with multiple typescript files. Then you may find a problem how we can use/import functions/classes from other files.
For example we have following interface in IShape.ts file.
interface IShape {
x: number;
y: number;
height: number;
width: number;
}
And in another file Square.ts we have Square class with one of the constructor overloads is accepting that IShape interface as parameter.
class Square {
public x: number;
public y: number;
public height: number;
public width: number;
constructor();
constructor(obj: IShape);
constructor(obj?: any) {
this.x = obj && obj.x || 0
this.y = obj && obj.y || 0
this.height = obj && obj.height || 0
this.width = obj && obj.width || 0;
}
But if you try to compile this, you may get the following error:
Error TS2304 Cannot find name 'IShape'.
Because Square.ts don't know about ISquare.ts. To fix this error, we have to add reference to ISquare.ts file on the top of Square.ts.
///class Square { public x: number; public y: number; public height: number; public width: number; constructor(); constructor(obj: IShape); constructor(obj?: any) { this.x = obj && obj.x || 0 this.y = obj && obj.y || 0 this.height = obj && obj.height || 0 this.width = obj && obj.width || 0; }
Now it will compile successfully.
You can add multiple lines of references to add multiple files. Just remember that path is relative to the current file.
No comments:
Post a Comment