Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   кто что использует для модульности скриптов? (https://javascript.ru/forum/library-toolkit-framework/18684-kto-chto-ispolzuet-dlya-modulnosti-skriptov.html)

tenshi 14.07.2011 14:28

чорд >< поправил

kobezzza 14.07.2011 15:01

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

Также есть отдельный скрипт который в зависимости от URL страницы создаёт тот или иной необходимый экземпляр и делает различные дополнительные операции.

Потом всё сжимаю через Closure Compiler и заливаю одним файлом.

Как тестить: Google Closure Compiler может при компиляции создавать Source Map - это такой файл который осуществляет связь между сжатым и несжатым файлом и теперь при ловле ошибок можно загрузить этот файл в Firebug (необходим доп. плаг) и вуаля!

Также никто не отменял конструкции throw, try/catch/finally и т.д.

tenshi 14.07.2011 15:07

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

vflash 14.07.2011 16:10

tenshi, не много ли with ? )

tenshi 14.07.2011 16:27

не, самый раз. а что? %-)

vflash 14.07.2011 16:43

https://developer.mozilla.org/en/Jav...tatements/with
Цитата:

Using with is not recommended, and is forbidden in ECMAScript 5 strict mode. The recommended alternative is to assign the object whose properties you want to access to a temporary variable.

tenshi 14.07.2011 16:54

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

kobezzza 14.07.2011 20:40

Ну я бы не назвал остолопами тех людей, которые не рекомендуют использовать with) Например Дуглас Крокфорд или Илья Кантор (основатель этого сайта). Помимо неочевидности with он несёт в себе большой минус - код с with не жмётся (или жмётся с помощью игнора with, но ето не гуд) минификаторами.

tenshi 14.07.2011 22:04

он замечательно жмётся гзипом. а то о чём ты говоришь - это обфускация. удел параноиков.

kobezzza 14.07.2011 22:08

Ну вообщето, тот же Closure Compiler анализирует код, и сжимает его так, чтобы + Gzip был выигрыш в объёме (причём оч крутой). так что извини, но ты не прав.

А если уж стоит вопрос обфускации, то лучше юзать Packer)

Пример на Closure Compiler:
До сжатия:
function hello(name) {
alert('Hello, ' + name);
}
hello('New user');

После:
alert("Hello, New user");

Он проанализировал код, и вычислил, что в данном случае можно сделать без всяких функций) Так что минификаторы не так просто работают...


Часовой пояс GMT +3, время: 16:34.