2017-01-11 5 views
1

У нас есть сайт, содержащий устаревшие коды внешнего интерфейса. Код - беспорядок. Загружаются различные версии js-фреймворков или библиотек. Некоторые части кодов имеют head js, который обрабатывает зависимости, но на самом деле не структурирован должным образом. Я хотел реорганизовать этот код, но я не знаю, с чего начать. Не могли бы вы предложить какой-либо способ обработки реструктуризации кодов? Есть ли там какая-нибудь технология, которая могла бы помочь мне справиться с зависимостями js?Управление зависимостями js

+0

Какой менеджер зависимостей вы используете для фреймворков или библиотек, которые вы загружаете? Поскольку вы не упомянули об этом, я предлагаю вам взглянуть на npm и bower. Вы также можете использовать контроль версий с git в каждой из ваших собственных библиотек и требовать их с этими менеджерами зависимостей. – Leogout

+0

То есть ... большой вопрос. Мне пришлось иметь дело с такой ситуацией в проекте, в котором я сейчас работаю, и есть много способов, которыми вы могли бы это сделать. Существуют ли определенные технологии, которые вы уже используете для обработки зависимостей (например, webpack, browsify, RequireJS и т. Д.), В проекте или иначе? У вас есть шаг сборки на всех в настоящее время? – mAAdhaTTah

ответ

0

Ваш первый шаг должен выяснить, какие библиотеки сторонних разработчиков использует. Если это еще не сделано, переместите ваши сторонние библиотеки в каталог vendor/ или что-то подобное (и не забудьте обновить URL-адреса соответственно, иначе все сломается!) Затем используйте инструмент поиска кода (git grep - хороший выбор, если вы используете git), чтобы найти библиотеки, загруженные из CDN.

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

После того, как вы это сделали, вы можете начать следить за тем, чтобы все одинаковые версии библиотеки находились на одном и том же месте.

Оттуда трудно дать какой-либо полезный конкретный совет, поскольку это зависит от вашего проекта.

Ваш инструмент поиска кода будет вашим лучшим другом. Это может пройти долгий путь, чтобы убедиться, что вы не нарушаете вещи, когда делаете изменения. Как я упоминал ранее, git grep хорош для проектов git. В противном случае я предлагаю the_silver_searcher или обычный grep.

Я также предлагаю долго смотреть на любые системы, которые уже могут быть установлены для управления загрузкой сценария. (То, что «head js» вы упомянули, звучит многообещающе.) Даже если это полный мусор и редко используется, вы, возможно, сможете его спасти и улучшить. Если это непростительно, все-таки что-то, что кто-то пытался реализовать в этом конкретном проекте. Глядя на проблемы, с которыми столкнулся ваш предшественник, вы сможете избежать проблем с тем, что вы продвигаетесь с другим решением.

(Боковое примечание: старайтесь не думать о устаревшем коде как о мусоре. Кто-то в какой-то момент подумал, что это хорошая идея. Даже если их идея оказалась ужасной, вы все равно можете увидеть, где они пошло не так, и куда они направились.)

До тех пор, пока вы будете осторожны, это все, что может сделать жизнь вашей команды МНОГО легче, не влияя на то, как проект действительно работает. (Просто убедитесь, что обновили URL-адреса ваших ресурсов, чтобы сценарии по-прежнему загружались при их перемещении.)

+0

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

Смежные вопросы