Этот пост поможет вам перейти с Component IO на Anymod.

Наряду с переименованием Component IO в Anymod мы внесли изменения в синтаксис, чтобы упростить работу с внешними библиотеками и гарантировать отсутствие долгосрочных проблем совместимости с развивающимся стандартом HTML. Мы надеемся, что эти изменения облегчат жизнь вам и вашей команде.

Примечание. Все изменения обратно совместимы, поэтому ваши существующие компоненты будут продолжать работать во всех случаях.

Обновление

TL;DR: обновите теги<component>и обновите тег<script>:

Старый и новый форматы и URL-адреса показаны здесь рядом:

теги ‹component›

Мы отказались от тега <component>, потому что в будущем он может быть включен в спецификацию HTML и использоваться браузерами способами, которые сейчас трудно предсказать. Этот тег будет продолжать работать с Anymod прямо сейчас (как и любой закрытый тег), но мы посчитали, что лучше не предлагать его на случай возникновения проблем в будущем.

Anymod также использует атрибуты id и data-*, которые являются стандартными HTML, вместо использования атрибутов key и load, с которыми могут возникнуть проблемы в определенных крайних случаях или при работе с такими фреймворками, как React, Vue и Angular.

Мы рекомендуем заменить теги <component> тегами <section> и использовать атрибуты id и data-*, так как они уже являются частью спецификации HTML и одинаково обрабатываются во всех браузерах.

‹скрипт›

Для тега script требуется только обновить атрибут src, заменив component.io на anymod.com. Сам файл сценария одинаков во всех местах, и сценарий был слегка обновлен, чтобы включить новый синтаксис Anymod в дополнение к старому синтаксису Component IO. Никаких других изменений для этого перехода сделано не было.

Мы рекомендуем заменить src скрипта везде, где это уместно.

Component.render() и другие методы

Глобальный объект Component был переименован в Anymod. Это означает, что все методы и конструкторы, такие как Component.render, Component.Vue и т. д., теперь доступны как Anymod.render, Anymod.Vue и т. д.

Имя Component используется некоторыми другими библиотеками, такими как Angular 2+, поэтому это изменение помогает упростить нашу документацию и избежать ненужных конфликтов пространств имен для разработчиков, использующих Anymod.

Для обратной совместимости, если Component не определено в браузере window, скрипт присвоит ему псевдоним Anymod, чтобы любой из них можно было использовать в вашем коде. Однако мы рекомендуем использовать Anymod вместо Component, чтобы обеспечить совместимость с будущими версиями скрипта.

URL-адрес API

Component IO API теперь указывает на Anymod API, который имеет тот же набор маршрутов и опций. Это означает, что вызовы api.component.io аналогичны вызовам api.anymod.com.

Если вы использовали Component IO API в своем собственном коде, мы рекомендуем изменить URL-адрес на https://api.anymod.com.

Руководство по вводу/выводу компонентов

Руководящие документы для Component IO (т. е. старый синтаксис) останутся доступными на https://guide.component.io.

Руководство Anymod

Руководящие документы для Anymod доступны по адресу https://guide.anymod.com.

Вопросы по обновлению

Мы надеемся, что сделали процесс обновления таким же простым, как поиск и замена. Если у вас возникнут какие-либо проблемы, сообщите об этом нашей команде с помощью кнопки внутренней связи в правом нижнем углу на https://anymod.com.