Модулі / Modules
Global Module
За замовчуванням, коли ви починаєте вводити код у новому файлі TypeScript, ваш код знаходиться в глобальному просторі імен. Як демонстрацію розглянемо файл foo.ts
:
Якщо ви тепер створите новий файл bar.ts
у тому самому проекті, вам буде дозволено системою типів TypeScript використовувати змінну foo
так, якби вона була доступна глобально:
Зайве говорити, що мати глобальний простір імен небезпечно, оскільки це відкриває ваш код для конфліктів імен. Ми рекомендуємо використовувати файлові модулі, які представлені далі.
File Module
Також називаються зовнішніми модулями. Якщо у вас є «імпорт» або «експорт» на кореневому рівні файлу TypeScript, тоді в цьому файлі створюється локальна область. Отже, якщо ми змінимо попередній foo.ts
на такий (зверніть увагу на використання export
):
Ми більше не матимемо foo
у глобальному просторі імен. Це можна продемонструвати, створивши новий файл bar.ts
наступним чином:
Якщо ви хочете використовувати матеріали з foo.ts
у bar.ts
вам потрібно явно імпортувати це. Це показано в оновленому bar.ts
нижче:
Використання import
у bar.ts
не тільки дає змогу вводити матеріали з інших файлів, але також позначає файл bar.ts
як модуль, а отже, оголошення в bar.ts
не також не забруднювати глобальний простір імен.
Те, що JavaScript генерується з даного файлу TypeScript, який використовує зовнішні модулі, керується прапором компілятора під назвою module
.
Last updated