Миграция Javascript из базы данных - PullRequest
0 голосов
/ 05 декабря 2018

Я работаю над старым корпоративным решением со следующими свойствами:

  • В решении имеется веб-приложение MVC
  • В решении имеется уровень обслуживания WCF
  • Решение содержит javascript в базе данных в виде функций в столбце базы данных
  • . Веб-приложение извлекает указанный javascript через уровень обслуживания и подключает его к определенным страницам
  • Моя команда не может изменитьвеб-приложение, ни уровень обслуживания
  • Моя команда должна написать javascript, вставив функции в указанные столбцы базы данных

Эта архитектура приводит к:

  • Оченьнеэффективный цикл разработки
  • Очень плохое управление исходным кодом

Я хотел бы предложить решение для них, как его обновить, но здесь я немного упущен в опыте.Мое предложение будет:

  1. Перенос Javascript из базы данных в файлы Javascript
  2. Создайте своего рода хук в веб-приложении для файлов Javascript других команд

Мои вопросы:

  • У кого-нибудь была такая проблема и как они ее решали?
  • Есть ли эффективный способ выполнить такой переход javascript в файлы?Моя идея заключалась в том, чтобы написать небольшую консольную программу для миграции
  • Как бы они сделали ловушку для импорта наших файлов javascript?Моя идея состоит в том, чтобы создать пакет сценариев с некоторым соглашением об именах, чтобы мы могли добавлять сценарии без необходимости изменять их код.Есть ли проблемы с этим подходом?

Любой вид ввода будет иметь неоценимое значение.

Редактировать:

Дополнительные пояснения:

  • Механизм сопоставляет имена функций javascript с атрибутами событий определенных элементов DOM и вставляет код сразу после элемента
  • Функции являются автономными функциями, зависящими только от библиотек, уже находящихся в веб-приложении
  • Функции сгруппированы по общей форме

Так что, я полагаю, было бы лучше сгруппировать их в файлы с именами форм.

1 Ответ

0 голосов
/ 05 декабря 2018

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

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

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

Если вам удалось извлечь этот монолитный файл Javascript, проще всего было бы включить его в тег сценария для всего сайта и покончить с этим.Это может быть плохой идеей, если файл достигает размера ~ МБ и замедляет начальное время загрузки страницы.

Опять же, в тот момент, когда у вас есть набор функций в одном файле, вы, вероятно, могли бысделать многое для оптимизации и уменьшения дублирования кода.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...