Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Структурирование, кода
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1049
Пользователь №: 41686
На форуме: 1 год, 4 месяца, 2 дня
Карма: 14




Привет!

Есть один момент. Когда JS уже не так мало? чтобы уместить в один файл. Как в этом случае структурировать код? Получается такая петрушка: почти на каждой странице существует свой набор скриптов. Навешиваются ивенты, инитятся различные библиотеки. Вся беда что они по сути очень похожи, но конфигурации разные. Ну вот тоже самое модальное окошко, на одной странице нужно маленькое, на другой большое. Разница в 2 параметра всего лишь. Ну хорошо, размеры окна можно выдергивать из data-width data-height прямо из тэга, откуда идет вызов. А когда речь, не знаю, о TinyMCE, где может дофига настроек различаться, но суть все-равно одна!

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

Или запихивать инициализации непосредственно в HTML, а подключать только сами библиотеки?

Или пробивать инлайн ивентами, типа onClick=""?

Какой из способов наименее ужасен, желательно с обоснованием? У меня получается каша по причине того что в одной ситуации удобнее одно, в другой - другое. Или это нормально?



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




1. Глобальные зависимости, обобщи, минифицируй и сгруппируй в конкретных файлах, который будешь подключать в зависимости от необходимости;
2. Можно JS скрипты для текущей страницы подключать вручную, проблем нет, но если он один, то есть по факту у тебя должен быть подключен глобальный файл с зависимостями и локальный с логикой для текущей страницы
3. Прочитай про модульность, AMD, require.js


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

Мой блог
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11789
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 17 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 17 дней


Цитата (Ron @ 30.04.2016 - 01:12)
А когда речь, не знаю, о TinyMCE, где может дофига настроек различаться, но суть все-равно одна!

я обычно в подобных случаях в data-* атрибутах указываю настройки, при инициализации читаю их оттуда (если они автоматом не подхватываются)


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1049
Пользователь №: 41686
На форуме: 1 год, 4 месяца, 2 дня
Карма: 14




Всем откликнувшимся +1 в карму.

За require.js отдельное спасибо. Интересная штука, тем более вышел через нее на официальный компановщик/минимайзер: ссылка. Что делает идею еще интереснее.


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса