Javascript сниппеты с google closure

Интересная возможность closure-compiler (это такой сервис для обфускации и оптимизации кода). Возможность складывается из двух факторов:

  • компилятор в advanced режиме пережимает код до неузнаваемости, попутно совершая оптимизации. Оптимизаций вагон: значения, которые можно вычислить, вычисляются, инлайновые функции “растворяются” в коде. Функции, которые не вызываются, выбрасываются.
  • компилятор работает с библиотекой гугла для javascript, позволяя совершать импорты модулей из библиотеки в тело скрипта.

Комбинируя эти знания, включаем библиотеку, и запрашиваем версию флеша, например:

// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// @use_closure_library true
// ==/ClosureCompiler==

goog.require('goog.userAgent.flash');
window.a = goog.userAgent.flash.VERSION

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

Share
Send
1 comment
Дмитрий

Отличная кашка получается, для защиты кода клиента, например, вполне подойдет.

Popular