Barrel це спосіб згортання експорту з кількох модулів в один зручний модуль. Сам барель є файлом модуля, який повторно експортує вибрані експорти інших модулів.
Замість цього можно використовувати barrel demo/index.ts який реекспортує:
// demo/index.tsexport*from'./foo'; // re-export all of its exportsexport*from'./bar'; // re-export all of its exportsexport*from'./baz'; // re-export all of its exports
Зараз можно використати простий синтансис:
import { Foo, Bar, Baz } from'../demo'; // demo/index.ts is implied
Named exports
Іменований експорт.
Замість експорту всього через *, ви можете вибрати модуль для експорту по назві. Наприклад, baz.ts має функції:
Якщо ви не хочете експортовать getBaz / setBaz з demoнатомість ви можете помістити їх у змінну, імпортувавши їх у назву та експортувавши цю назву, як показано нижче:
// demo/index.tsexport*from'./foo'; // re-export all of its exportsexport*from'./bar'; // re-export all of its exportsimport*as baz from'./baz'; // import as a nameexport { baz }; // export the name
Зараз ви маєте такий імпорт:
import { Foo, Bar, baz } from'../demo'; // demo/index.ts is implied// usagebaz.getBaz();baz.setBaz();// etc. ...