Part 4: Working with Modules and Imports in TypeScript
- Published on
- Authors
- Name
- Bobby Hall Jr
- @bobbyhalljr_dev
Section 4: Working with Modules and Imports
In this section, we will explore modules and imports in TypeScript. Modules provide a way to organize our code into separate files and promote reusability. We will learn how to create modules, export and import components, and leverage the power of module systems.
Introduction to Modules
Modules in TypeScript are a way to encapsulate code within separate files. Each file can be treated as a module, with its own scope and dependencies. This promotes code organization, reusability, and maintainability.
To define a module, we use the export
keyword to mark the components that we want to make available outside the module.
// math.ts
export function sum(a: number, b: number): number {
return a + b
}
export const PI = 3.14
Exporting and Importing Modules
To use components from another module, we need to import them. We use the import
keyword to specify the module and the components we want to import.
// app.ts
import { sum, PI } from './math'
console.log(sum(5, 10)) // 15
console.log(PI) // 3.14
We can also use the import
statement with an alias to rename imported components.
import { sum as add } from './math'
console.log(add(5, 10)) // 15
Default Exports and Imports
A module can have a default export, which represents the main exported component. It can be imported using the import
statement without curly braces.
// math.ts
export default function multiply(a: number, b: number): number {
return a * b
}
// app.ts
import multiply from './math'
console.log(multiply(5, 10)) // 50
Organizing Code with Module Systems
TypeScript supports various module systems, including CommonJS, AMD, and ES modules. The module system used depends on the target environment and the module loader being used.
To specify the module system, we can use the module
compiler option in the tsconfig.json
file.
{
"compilerOptions": {
"module": "commonjs"
}
}
TypeScript provides flexibility in choosing the module system based on the specific needs of the project.
Conclusion
Modules and imports are powerful features of TypeScript that allow us to organize and modularize our codebase effectively. They promote reusability, maintainability, and better code organization. By leveraging modules, we can build scalable and maintainable applications.
In the next section, we will explore asynchronous programming with TypeScript, including promises, async/await, error handling, and working with async functions.