Рубрики
Без рубрики

Минификация, мой новый арх-враг. или это?

Итак, вот в чем дело … вы пишете код, чтобы он читался и легко отлаживать. Недавно я взял на себя … Tagged с JavaScript, JSmin, Minifice.

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

React-Image-карта является одной. Действительно классная библиотека и полезный инструмент, когда вы хотите создать карту. Но есть устаревшая библиотека, в которой были некоторые другие функции, которые, по нашему мнению, были крутыми и хотели реализовать.

Поэтому, имея несколько проектов, в которых Ruby Gems нуждается в некоторых прорастании, я решил: «Эй, мы можем просто посмотреть в модулях узлов и приспособиться к этому, это проще, так как он уже там». Для тех из вас, кто играет дома, если вы это сделаете Установка пучка -развернуть Вы можете получить то же самое, что и node_modules. Вы можете редактировать по мере необходимости.

Мальчик был неправ. Так что никогда не задумывайтесь дважды о беге по драгоценным камням или модулям, которые назывались претензией, любезой или минивер. Я никогда не думал дважды о том, что они делали. Прекрасные данные JSON имели смысл для меня, потому что они прочитали бы различные уровни хэша. Так что размышляйте о том, чтобы пройти данные из чего -то, что было стрункой, проанализированной во что -то, что компьютер понимает, удобно для машины. Быстрое отмечает, что я вернусь к … Парень, который начал минимизировать, был также тем парнем, который сделал JSON популярным. После того, как я издал свое разочарование, а затем прочитав о нем, я решил перестать беспокоиться и полюбить Минификатор.

Но возьмите эту фразу «Удобную для машины», это именно то, что делает уравновешивающий или претензирующий. Возможно, я виновен, чем большинство, с количеством пробелов, оставшееся в моем коде. После небольшого общения со Свифтом, вы как бы привыкли иметь вещи только что. Swift заставит ваш писать красивым кодом, я дам ему это, Python также заставляет вас задуматься о презентации, которая великолепна при погружении на другие языки, но вернется к антитезе этого. Скажем, вы написали 966 строк ванильного JavaScript, не разделяя ничего, кроме одного файла.

Так что не самые красивые вещи для начала … но одна, если это была только одна строчка ?? !? !? !! Зачем кому -то это делать … Кстати, это оказалось 21723 символами.

Так что же случилось? Как я упоминал ранее, он избавляется от белого пространства. Но это также переименовает переменные в одиночные буквы. Это имеет смысл, потому что переменная может быть чем угодно, это просто представление места в памяти. 26 букв вполне нормально, потому что процесс минимизации посвящен масштабам и закрытию, чтобы он мог понять это. Это также избавляется от комментариев, потому что все знают, что это ужасная идея прочитать раздел комментариев (извините PEP 8).

Это был мой первый раз, когда я открыл один из этих файлов, не осознавая, что этот процесс произошел. Я всегда принимал node_modules как должное, так как большую часть времени они делают то, что вы хотите. Поэтому, входя в файл, я даже не мог придумать, как исправить добавление DOM, думая, что мне нужно использовать их систему. Глупый я и мой бедный партнер по программированию, наблюдающий за моим разочарованием. Тем не менее, вы можете расширить свой риск. Хотя это добавит некоторое использование памяти и раздувание, это может быть не конец света. При этом это реальная цель для минификации. Сделайте приложения загружаться быстрее и сэкономьте место. Компьютер не должен сортировать столько строк и столбцов для запуска вашего приложения. И да, это работает только на определенных языках, Руби не может сделать это, потому что линии являются важными синтаксическими маркерами. Поэтому, когда вы прыгаете в эти файлы, сгенерированные из установки пакета, они в значительной степени не повреждены. Другое предостережение – это пакеты NPM действительно зависит от по своему усмотрению создателей Но если вы разбираетесь через библиотеки, они примерно на 95% минимизированы, редко вы увидите что -то как читаемый JavaScript из -за сохранения пространства и памяти. Мы все хотим быть быстрее и занимать меньше места, чтобы эти пакеты, вероятно, получат больше загрузок.

Итак, две вещи, которые пришли из моих исследований в этом. Дуглас Крокфорд может быть моим новым героем. Он тот парень, который начал добывать еще в 2001 году с JSMIN. Он также начал JSON, что имеет смысл, что эти две вещи могут быть связаны. Обычно вам нужно выполнить функцию, чтобы сделать JSON читаемым, поэтому создатель был хорошо разбирался в том, как сделать вещи аккуратными и аккуратными, а затем экстраполировать идеи. Я не могу решить, будет ли его дом выглядеть как Container Store ™ или универмаг в Черную пятницу. Так почему же он мой герой? Кроме того, что я лично люблю находить вложенные данные. По многим причинам на самом деле. Выросший, я играл в особняке маньяка, это было весело и весело, последующий день щупальца был одинаково удивительным. Он отвечал за игру в Nintendo. Первоначально игра была сделана для компьютера (вот где я играл), и это было немного рисковать, поэтому он отвечал за цензуру. Вы можете прочитать о некоторых возражениях Nintendo Здесь Анкет Второе, что я узнал, это то, что он сделал свой JSmin с открытым исходным кодом ….. Иш. Он добавил пункт о том, что это необходимо, чтобы «программное обеспечение должно использоваться для добра, а не зла». То, что вы обычно зацелили бы, но адвокаты Google заставили его найти еще одну хостинговую услугу в 2009 году … удобно в то же время Google придумал свой инструментарий закрытия, который похож на функцию, также для компании, лозунг которого – Don ‘ Это зло, это немного забавно. У него также было такое требование в других программах, которые он написал, JSLINT был веселым. История гласит, что IBM написал ему, спрашивая, могут ли они получить специальную лицензию, потому что они были уверены, что не будут злыми, но не могли ничего сказать о своих клиентах. Очень зловещее адвокат, учитывая прошлые компании. Но они делали свою должную осмотрительность, как склонны адвокаты. Однако он ответил им, сказав: «Я даю разрешение на IBM, его клиентов, партнеров и миньонов, чтобы использовать JSLINT для зла». Так что я очень ценю, что он заставил себя и у вас есть чувство юмора о мире.

Тем не менее, злой пункт может иметь некоторые реальные возможные использования судебных разбирательств. За последние пару месяцев было несколько пакетов узлов, в которых было злонамеренное программное обеспечение. Который, как человек, который только что прошел через одну устойчивость кода, я могу понять, как вы можете легко что -то скрыть, и никого не заметили. Но если бы они использовали JSMIN или любую работу мистера Крокфорда, это было бы нарушением соглашения, открытого для юридического толкования. Итак, от меня изо всех сил пытаясь добавить эффект наказания в библиотеку, это стало уроком истории и создав для меня момент фаната …

Оригинал: “https://dev.to/amsmo/minification-my-new-arch-nemesis-or-is-it-4fnf”