Понимание именного импорта ES6 - PullRequest
0 голосов
/ 04 ноября 2018

Я читаю инструкцию ES6 import в MDN документах .

Я в целом понимаю, как это работает, но, желая углубиться, я не понимаю один аспект синтаксиса.

Как указано в синтаксисе MDN import, это все разные способы импорта кода в текущий модуль / область:

import defaultExport from "module-name";
import * as name from "module-name";
import { export } from "module-name";
import { export as alias } from "module-name";
import { export1 , export2 } from "module-name";
import { foo , bar } from "module-name/path/to/specific/un-exported/file";
import { export1 , export2 as alias2 , [...] } from "module-name";
import defaultExport, { export [ , [...] ] } from "module-name";
import defaultExport, * as name from "module-name";
import "module-name";
var promise = import("module-name");

Я пытаюсь понять разницу между этими двумя строками:

import { export1 , export2 } from "module-name";
import { foo , bar } from "module-name/path/to/specific/un-exported/file";

Разве оба они не будут одинаковыми? Мы не импортируем значение по умолчанию export, поэтому мы должны импортировать с именем export s.


Почему это два отдельных определения синтаксиса?

И почему второй имеет это:

from "module-name/path/to/specific/un-exported/file";

1 Ответ

0 голосов
/ 06 ноября 2018
import { export1 , export2 } from "module-name";
import { foo , bar } from "module-name/path/to/specific/un-exported/file";

Почему это два отдельных определения синтаксиса?

Вероятно, просто для иллюстрации того, что абсолютное имя модуля также может содержать путь.

Затем "module-name" будет разрешен в соответствии с обычными правилами разрешения модулей, а затем foo и bar будут импортированы из некоторого файла, содержащегося в этом модуле.

Таким образом, вы можете получить доступ к чему-то, что не экспортируется из основного файла модуля.

Однако многие авторы модулей считают, что только экспорт из основного файла модуля представляет собой общедоступный API. Все остальное, включая имена файлов и пути к ним, является деталью реализации, которая может изменяться непредсказуемым и несовместимым образом с каждым выпуском.

...