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.