2012-07-05 2 views
1

Я использую Smarty для обработки своих представлений. Чтобы максимизировать повторное использование кода, я разбил свои файлы просмотра на небольшие сегменты и просто включил их там, где они нужны. Это хорошо работает, так как он сохраняет мою разметку согласованной, если она отображается в браузере.Управление файлами просмотра и JS разметкой

Проблема в том, что у меня также есть JS, который будет выполнять определенные манипуляции с DOM. Это означает, что мой JS должен быть осведомлен о структуре разметки и т. Д. И во многих случаях JS вынужден поддерживать идентичную копию метки, которая уже существует в файлах шаблонов Smarty.

Это станет кошмаром для обслуживания, так как любые изменения до отметки должны быть сделаны в файлах шаблонов Smarty и, возможно, в значке JS вверх.

Любые предложения относительно того, как обращаться с этим элегантно? Или я просто принимаю это как необходимое зло?

ответ

0

Я разделил мои файлы представлений на небольшие сегменты и просто включить их туда, где они когда-либо необходимы

Сделайте то же самое с JavaScript. Подумайте об модуле и создайте модули вместо страниц. Любой модуль будет включать HTML (Smarty в вашем случае), JavaScript и CSS. Любая страница, которая нуждается в этих модулях, должна требовать эти три файла. Или вы можете объединить все вместе, чтобы облегчить работу с модулями. Когда вы создаете модуль, вы будете редактировать модули, а не страницы. Таким образом, вы не будете нарушать работу, редактируя JavaScript или CSS/HTML.

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

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

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