Lab 07: Modules & Declarations
Objective
Time
Prerequisites
Tools
Lab Instructions
Step 1: ES Module Imports & Exports
// Named exports
export function add(a: number, b: number): number { return a + b; }
export const PI = 3.14159;
export type Point = { x: number; y: number };
export interface Shape { area(): number; }
// Default export
export default class Calculator {
constructor(private value: number = 0) {}
add(n: number): this { this.value += n; return this; }
result(): number { return this.value; }
}
// Re-export
export { readFileSync as readFile } from "fs";
export * from "./utils"; // re-export all named exports
export * as utils from "./utils"; // namespace re-exportStep 2: Declaration Files (.d.ts)
Steps 3–8: Barrel Files, Namespaces, Path Aliases, Circular Deps, Tree Shaking, Capstone
Summary
Further Reading
Last updated
