35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
---
|
||
sidebar_position: 2
|
||
---
|
||
|
||
# Экспорт и импорт
|
||
Источник: [https://learn.javascript.ru/import-export](https://learn.javascript.ru/import-export)
|
||
|
||
Вот все варианты export, которые мы разобрали в этой и предыдущей главах.
|
||
|
||
Вы можете проверить себя, читая их и вспоминая, что они означают:
|
||
|
||
- Перед объявлением класса/функции/…:
|
||
- export `[default]` class/function/variable ...
|
||
- Отдельный экспорт:
|
||
- export `{x [as y], ...}`.
|
||
- Реэкспорт:
|
||
- export `{x [as y], ...}` from "module"
|
||
- export * from "module" (не реэкспортирует export default).
|
||
- export `{default [as y]}` from "module" (реэкспортирует только export default).
|
||
|
||
Импорт:
|
||
- Именованные экспорты из модуля:
|
||
- import `{x [as y], ...}` from "module"
|
||
- Импорт по умолчанию:
|
||
- import x from "module"
|
||
- import `{default as x}` from "module"
|
||
- Всё сразу:
|
||
- import * as obj from "module"
|
||
- Только подключить модуль (его код запустится), но не присваивать его переменной:
|
||
- import "module"
|
||
|
||
Мы можем поставить import/export в начало или в конец скрипта, это не имеет значения.
|
||
|
||
💥 **Обратите внимание, что инструкции import/export не работают внутри `{...}`.**
|