Modules summary

We can summarize all the preceding details using the following comparison table:

Module syntax

Design-time support

Module loader runtime support

Native runtime support

Optimization tool support

Recommended

Legacy internal modules

Yes

No

Yes (via closures)

No

No

Namespaces

Yes

No

Yes (via closures)

No

No

ES6

Yes

Yes

Yes

Yes

Yes

Legacy external modules

Yes

Yes

No

Yes

No

AMD

No

Yes

No

Yes

No

CommonJS

No

Yes

No

Yes

No

UMD

No

Yes

No

Yes

No

SystemJS

No

Yes

No

Yes

No

As we can see, the recommended solution going forward is the usage of ES6 modules. If you are targeting a JavaScript engine that doesn't ...

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.