импортом/экспортом частей кода
Переархитектура стала необходимой для повышения модульности, а также для предотвращения непредвиденного поведения и отчетов об ошибках, связанных с импортом (строго связано с модульностью) или управлением пакетами. Описание этой области динамически меняется в последнее время, что делает поддержание кода сложным из-за применения временных исправлений, и требуемые изменения в обновленной спецификации трудно внедрить в ранее введенную структуру. Ранее мы не выделяли ресурсы на это из-за других более приоритетных задач, но теперь мы хотим продолжить эту работу, видя её необходимость.ОБНОВЛЕНИЕ (11.06.2024): Реализация импорта/экспорта требует пересмотра. Причина заключается в том, что часть стандарта, относящаяся к этому вопросу, несколько раз менялась во время разработки, и не только постоянно добавлялись новые части, но также менялись правила именования (например, псевдоним пространства имен: *), а также были удалены некоторые разделы, поддержка которых была прекращена. По этой причине можно использовать другой подход в коде, так как было применено множество временных решений параллельно (очень запутанно), которые следует объединить и унифицировать для улучшения понимаемости и поддерживаемости кода. В настоящее время проводятся исправления, однако большинство краевых случаев уже раскрыты, и соответствующий раздел стандарта можно считать окончательным, поэтому эта проблема готова к началу работы.Примечание: Перед началом рефакторинга импорта/экспорта важно указать в описании, что будет изменено и почему, как часть документации дизайна. В ближайшее время это описание должно быть расширено этими данными. Что следует учитывать при рефакторинге, но пока не реализовано:
import ident from ". . ."
, но не поддерживает формат import { default as ident } from ". . ."
(#17739).Вход Перед тем как оставить комментарий