Multiple Exports and Namespaces
Learn how to import multiple symbols from a module using named imports or the * as syntax for namespace attachment.
We'll cover the following...
We'll cover the following...
Multiple exports
When working with external libraries—that is, libraries that have been published for general consumption—it is common practice for a published library to export all classes, functions, and interfaces from a single module file.
This means that we do not need to know how this library is structured or how complex the class hierarchy is internally; we simply import the entire library from one file.
As an example of this technique, suppose we have a file named modules/MultipleExports.ts
, as follows:
Press + to interact
C++
// This is a TypeScript code that exports two classes, MultipleClass1// and MultipleClass2, using the 'export' keyword.export class MultipleClass1 {}export class MultipleClass2 {}// It's worth noting that these classes are empty, meaning they don't have any properties// or methods defined within them.
- We export two classes from this module file, which are named
MultipleClass1
andMultipleClass2
.
We can then import both of these classes in our modules_main.ts
file as follows:
Press + to interact
C++
// Importing MultipleClass1 and MultipleClass2 from the "MultipleExports" module using// destructuring syntaximport { MultipleClass1, MultipleClass2 }from "./modules/MultipleExports";// Instantiating a new object of class MultipleClass1 and assigning it to the variable "mc1"let mc1 = new MultipleClass1();// Instantiating a new object of class MultipleClass2 and assigning it to the variable "mc2"let mc2 = new MultipleClass2();
...