External modules at design time and runtime

TypeScript adds a layer of choice, because it allows us to choose which module definition syntax we want to use at design time and which one we want to use at runtime. In a landscape with so many options, it is very easy to feel overwhelmed and confused.

Fortunately, only two module definition syntaxes are available at design time in TypeScript, and one of them is considered deprecated:

  • The legacy external module syntax (deprecated)
  • The ES6 module syntax (recommended)
It is also possible to use other module definition syntaxes at runtime, such as the AMD or the UMD syntaxes, but the TypeScript compiler will not try to compile them into the selected module definition output.

TypeScript allows us ...

Get Learning TypeScript 2.x - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.