Я недавно играл с удивительным инструментом от Google, который выполняет некоторую оптимизацию кода и частичное выполнение, например, для этого потребуется что-то вроде:
//Just an alias for an elementByID selector
function $(bar){
return document.getElementById(bar);
}
//Call the selector
alert($("foo").value);
И сократить его до alert(document.getElementById("foo").value);
,это довольно круто с точки зрения оптимизации.
Я объясняю это только потому, что думал бы, что эта концепция работает для больших библиотек, таких как jQuery, которая в основном пытается абстрагироваться от множества вещей, которые делает JavaScript, таких каквыберите по идентификаторам.
В быстром тесте я загрузил весь производственный файл jQuery в компилятор и добавил один бит текста в конце: alert($("#foo").val());
И довольноК сожалению, компилятор не смог отобразить дизайн и результат jQuery на простом примере, который был у меня выше, но скорее мой вывод составляет около 85 КБ текста с alert($("#foo").K());
в конце.По сути, я просто уменьшил код и не воспользовался потрясающей функцией, показанной выше.
Поэтому мой вопрос: если я в конечном итоге использую библиотеку, как я могу кодировать таким образом, чтобыЗакрывающий компилятор может упростить мой код до его родного JS (или что-то более эффективное, чем 85 КБ неиспользуемого кода)?В качестве альтернативы, какой дизайн следует выбрать, если он хочет создать небольшую библиотеку, которая будет играть хорошо?