Импорт модуля ES6 официально совместим с CommonJS и AMD?

Из этой статьи: https://hacks.mozilla.org/2015/08/es6-in-depth-modules/

Написано, что

Новый стандарт разработан для взаимодействия с существующими модулями CommonJS и AMD.

А точнее

Все модули CommonJS и AMD представлены в ES6 как имеющие экспорт по умолчанию.

Если это действительно так, все, что нам понадобится, - это полифилл ES6, и нам не придется использовать что-либо еще.

Тем не менее, например, для этого полифилла ES6: https://github.com/ModuleLoader/es6-module-loader, похоже, не позволяет загружать модули CommonJS / AMD из ES6, но только решения, построенные на его основе, такие как SystemJS, позволяют это.

Возникает вопрос: правда ли, что в официальном стандарте ES6 говорится, что CommonJS / AMD должен поддерживаться (представляясь как имеющий экспорт по умолчанию)?

Если это так, есть ли у вас ссылка на спецификацию ESCMA, в которой это сказано? и тогда почему это не особенность самого полифилла, а не решения, построенные на его основе?


person Jecimi    schedule 29.12.2015    source источник


Ответы (1)


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

  • ECMAScript 6 не указывает на совместимость с AMD, CommonJS или любым другим форматом модуля. Это позволяет использовать только модуль ECMAScript 6, как определено в спецификации.

  • Однако из этого источника:

Загрузчики модулей: не входят в ES2015. Это оставлено как определено реализацией в спецификации ECMAScript 2015. Возможный стандарт будет в спецификации загрузчика WHATWG, но в настоящее время работа над ним продолжается.

Спецификация Module Loader позволит вам определить свой собственный загрузчик модулей. Таким образом, можно будет импортировать AMD, CommonJS и т. Д., Написав свой собственный загрузчик, который будет описывать, как загружать такой модуль. Но это также позволит загружать, например, сценарий кофе или любой другой ресурс, если наш пользовательский загрузчик модуля описывает, как интерпретировать этот ресурс.

person Jecimi    schedule 17.01.2016