Возможные конфликты версий фреймворка JavaScript при использовании сценариев для всего сайта против локальных страниц - PullRequest
1 голос
/ 10 февраля 2010

Я предполагаю, что это будет проблемой для любой платформы JavaScript.

Я использую MooTools на многих страницах моего сайта. На некоторых страницах сценариям 2 года. Когда новой странице требуется MooTools, я обычно загружаю последнюю версию, чтобы избежать возможных зависаний с прошлыми ошибками и использовать любые новые функции.

Это сработало нормально, так как мои старые страницы все еще работают, а мои новые страницы имеют самые последние и лучшие версии.

Недавно я хотел использовать MooTools для элементов страницы, которые являются общими для всех страниц сайта. Понравился заголовок сайта или навигация.

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

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

Вопросы: какие у меня есть варианты? Какие решения вы, ребята, использовали эту работу? Есть ли функция, которая позволяет двум версиям сосуществовать на одной странице?

1 Ответ

1 голос
/ 10 февраля 2010

Я чувствовал бы, что что-то пошло очень плохо, если бы мне пришлось обслуживать более одной версии какой-либо конкретной библиотеки на всем сайте. До сих пор я успешно избегал этого, даже для очень (ОЧЕНЬ) большого веб-приложения.

Когда пришло время для обновления, вы обновляете. Когда это не так, вы придерживаетесь библиотеки back-rev. Вот как все работает в любом профессиональном программном проекте, с которым я знаком. Я уверен, что есть исключения, но я бы сказал, что хранение и обслуживание нескольких копий / версий никогда нежелательная ситуация.

[править] Кстати, это действительно мало чем отличается от аналогичных проблем в многокомпонентных серверных системах или в системах клиент-сервер старой школы.

[другое редактирование] Обратите внимание, что ваши клиенты должны будут хранить отдельные копии вашей библиотеки в своих кешах браузера, и, переходя от страницы к странице, они будут сбрасывать новые копии все время, когда посещают после долгого отсутствие (и кеш старый, другими словами). С одной копией им нужно загружать ее не чаще одного раза за посещение, и еще лучше, если вы используете что-то вроде Google для jQuery или что-то подобное.

...