Этот пост поможет вам перейти с 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.