Js минимизация: JSCompress — The JavaScript Compression Tool – Как Π΄Π΅-ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JS скрипт? β€” Π₯Π°Π±Ρ€ Q&A

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Javascript ΠΊΠΎΠ΄Π° ΠΈ CSS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Microsoft Ajax Minifier / Habr

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΡ‘ΠΌΠ½Ρ‹Ρ… рСсурсов, связанных с Π²Π΅Π±-страницСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ JavaScript Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ CSS, влияСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы, Π½ΠΎ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, проходящий ΠΎΡ‚ сСрвСра ΠΊ клиСнтскому Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ. ПослСднСС ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ‚Π°Ρ€ΠΈΡ„ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ сайта Π½Π° хостингС с Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ исходящих Π΄Π°Π½Π½Ρ‹Ρ….

Один ΠΈΠ· способов Π±ΠΎΡ€ΡŒΠ±Ρ‹ с лишними Π±Π°ΠΉΡ‚Π°ΠΌΠΈ – сТатиС Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° gzip’ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ распаковываСт Π΅Π³ΠΎ Π²ΠΎ врСмя отрисовки страницы. ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π°Π½Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ. Π― Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ способС ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ удалСния всСх Π½Π΅Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… символов ΠΈΠ· ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Π±-страницС Ρ„Π°ΠΉΠ»ΠΎΠ²: JavaScript ΠΈ CSS – ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈ написании клиСнтских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ стилСй сайта программист/Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΡ‚Π±ΠΈΠ²ΠΊΡƒ строк ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Ρ‚Π°Π±Π°ΠΌΠΈ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ тСкста ΠΈ простоты сопровоТдСния. Π£Π΄ΠΎΠ±Π½Π΅Π΅ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΎΠ·Π½ΠΈΠΊΡˆΡƒΡŽ Π² сСрСдинС 100-Π° строчного Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ структурирован ΠΈ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка способом. ΠŸΡ€Π°Π²ΠΈΠ»Π° CSS ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ JavaScript Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, размСстим ΠΌΡ‹ ΠΈΡ… всС Π² ΠΎΠ΄Π½Ρƒ строку ΠΈΠ»ΠΈ, помСстив ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС.

Π”Π°Π½Π½Ρ‹Π΅ изыски Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто лишними, ΠΊΠΎΠ³Π΄Π° сайт Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° просторы Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, процСсс трансформации ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€” Π΄Π΅Π»ΠΎ Π½Π΅ ΠΈΠ· Π»Ρ‘Π³ΠΊΠΈΡ… ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

16-Π³ΠΎ фСвраля 2010-Π³ΠΎ Microsoft выпустили Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ своСй ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Microsoft Ajax Minifier, Π·Π°Π΄Π°Ρ‡Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² JavaScript ΠΈ CSS – Π² ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ»ΠΈ ΠΈΠ· собствСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС .NET (Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π°Π½Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ), Ρ‚Π°ΠΊ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы MSBuild ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² Microsoft Visual Studio (я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с VS 2008).

ПослС установки ΠΏΠ°ΠΊΠ΅Ρ‚Π° Microsoft Ajax Minifier появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ для MSBuild’Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, созданныС Π½Π° основС встроСнных Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ASP.NET Web Application. Π‘Π°ΠΉΡ‚Ρ‹, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² ΡΡ‚ΡƒΠ΄ΠΈΡŽ ΠΊΠ°ΠΊ Web site – Π½Π΅ подходят, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ .proj Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ MSBuild’Π°.

  1. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Unload Project Π² контСкстном мСню ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сайта.
  2. Π’ контСкстном мСню ΡƒΠΆΠ΅ ΠΎΡ‚Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Edit project name; Visual Studio ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Ρ„Π°ΠΉΠ» *.proj для рСдактирования.
  3. ΠŸΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³Π° <Project>:
    1. <Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks"/>
    2. <Target Name="AfterBuild">
    3. Β Β Β Β <ItemGroup>
    4. Β Β Β Β Β Β Β Β <JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js"/>
    5. Β Β Β Β </ItemGroup>
    6. Β Β Β Β <ItemGroup>
    7. Β Β Β Β Β Β Β Β <CSS Include="**\*.css" Exclude="**\*.min.css"/>
    8. Β Β Β Β </ItemGroup>
    9. Β Β Β Β <AjaxMin
    10. Β Β Β Β Β Β Β Β JsSourceFiles="@(JS)"Β JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
    11. Β Β Β Β Β Β Β Β CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css"/>
    12. </Target>
    * This source code was highlighted with Source Code Highlighter.

  4. ΠŸΡƒΠ½ΠΊΡ‚ контСкстного мСню Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Reload Project – Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ сайт Π² Π»ΠΎΠ½ΠΎ Visual Studio ΠΈ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Build (ΠΈΠ»ΠΈ Rebuild) для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности.
  5. Π’Π°ΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΡ‚ΡƒΠ΄ΠΈΡŽ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (мСню Project, Show All Files).
  6. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Refresh послС компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ студия Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ MSBuild’Π°.
  7. Если Π½ΠΈΠ³Π΄Π΅ Π½Π΅ Π·Π°ΠΊΡ€Π°Π»Π°ΡΡŒ ошибка – ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ структурС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Π’Ρ‹Π±ΠΎΡ€ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π»ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ – Π·Π° Π²Π°ΠΌΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ я просто ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° FTP – сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹ Ρƒ мСня Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с языком MSBuild’Π° – ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ пояснСниС ΠΏ. 3:

  1. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, установлСнных вмСстС с Microsoft Ajax Minifier
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks"/>

    * This source code was highlighted with Source Code Highlighter.


  2. ОбъявлСниС задания, запускаСмого послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ компилирования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
    <Target Name="AfterBuild">

    * This source code was highlighted with Source Code Highlighter.


  3. Π”Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ произвСсти Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ – ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² ΠΈΡ…. Π’Π΅Π³ΠΈ <JS> ΠΈ <CSS> – Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΈ названия ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ <JS> ΠΈΠ»ΠΈ <JSFiles>, ΠΈΠ»ΠΈ, Π΄Π°ΠΆΠ΅, <MinimizeThis>. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ с ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ .js ΠΈ .css Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° .min.js ΠΈΠ»ΠΈ .min.css, ΠΈΠ»ΠΈ находятся Π² ΠΏΠ°ΠΏΠΊΠ΅ Scripts.
    1. <ItemGroup>
    2. Β Β <JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js"/>
    3. </ItemGroup>
    4. <ItemGroup>
    5. Β Β <CSS Include="**\*.css" Exclude="**\*.min.css"/>
    6. </ItemGroup>
    * This source code was highlighted with Source Code Highlighter.

  4. ЗапускаСм Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. Π“Ρ€ΡƒΠΏΠΏΡ‹ JavaScript ΠΈ CSS Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ обозначаСтся ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… строках (<JS> ΠΈ <CSS>). Π€Π°ΠΉΠ»Ρ‹, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΎ-ΡƒΡ‚Ρ€Π°ΠΌΠ±ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ…
    JsSourceExtensionPattern
    , CssSourceExtensionPattern ΠΈ JsTargetExtension, CssTargetExtension, соотвСтствСнно.
    <AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css"/>

    * This source code was highlighted with Source Code Highlighter.


Π—Π°Π΄Π°Ρ‡Π° ΠΈΠΌΠ΅Π΅Ρ‚ ряд Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

  1. JsCollapseToLiteral="true|false"

    * This source code was highlighted with Source Code Highlighter.


    ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ new Object() Π² {}, new Array() Π² [].
  2. JsCombineDuplicateLiterals="true|false"

    * This source code was highlighted with Source Code Highlighter.


    ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вмСсто ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ строковых ΠΈΠ»ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅.
  3. JsEvalTreatment="MakeAllSafe|Ignore|MakeImmediateSafe"

    * This source code was highlighted with Source Code Highlighter.


    Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ пСрСимСнования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌ eval. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ установки, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° ΠΊΠΎΠ΄Π° Π² eval Π½Π΅ ясна ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ.
  4. JsIndentSize="number"

    * This source code was highlighted with Source Code Highlighter.


    Когда JsOutputMode=Β«MultipleLinesΒ», ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² для ΠΎΡ‚Π±ΠΈΠ²ΠΊΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… конструкций.
  5. JsInlineSafeStrings="true|false"

    * This source code was highlighted with Source Code Highlighter.


  6. JsLocalRenaming="CrunchAll|KeepAll|KeepLocalizationVars"

    * This source code was highlighted with Source Code Highlighter.


    Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ примСнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ пСрСимСнования Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Когда JsLocalRenaming=Β«KeepLocalizationVarsΒ», ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с L_, Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹.
  7. JsMacSafariQuirks="true|false"

    * This source code was highlighted with Source Code Highlighter.


    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π²ΠΈΠΆΠΊΠ° JavaScript Π² Safari ΠΏΠΎΠ΄ Mac.
  8. JsOutputMode="SingleLine|MultipleLines"

    * This source code was highlighted with Source Code Highlighter.


    ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, сохраняя Π½Π΅ΠΊΡƒΡŽ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, хотя всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) – Π±ΡƒΠ΄ΡƒΡ‚ всё Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹.
  9. JsRemoveFunctionExpressionNames="true|false"

    * This source code was highlighted with Source Code Highlighter.


  10. JsRemoveUnneededCode="true|false"

    * This source code was highlighted with Source Code Highlighter.


    Π£Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ участвуСт Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (unreachable code).
  11. JsStripDebugStatements="true|false"

    * This source code was highlighted with Source Code Highlighter.


    Π˜Π·Ρ‹ΠΌΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ: debugger, $Debug, Debug, Web.Debug ΠΈΠ»ΠΈ Msn.Debug, WAssert.
  12. CssColorNames="Strict|Hex|Major"

    * This source code was highlighted with Source Code Highlighter.


    Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ подстановки ΠΈΠΌΠ΅Π½ΠΈ Ρ†Π²Π΅Ρ‚Π° вмСсто RGB ΠΊΠΎΠ΄Π°, Ссли Π΄Π°Π½Π½ΠΎΠ΅ имя ΠΊΠΎΡ€ΠΎΡ‡Π΅ (
    CssColorNames=Β«StrictΒ»
    ).
  13. CssCommentMode="None|All|Hacks"

    * This source code was highlighted with Source Code Highlighter.


    Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° счёт CSS ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². CssCommentMode=Β«HacksΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, оставит Π² ΠΊΠΎΠ΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ условно ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ CSS-Ρ…Π°ΠΊΠΈ.
  14. CssExpandOutput="true|false"

    * This source code was highlighted with Source Code Highlighter.


    ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, сохраняя Π½Π΅ΠΊΡƒΡŽ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСн Π² нСсколько строк, вмСсто ΠΎΠ΄Π½ΠΎΠΉ.
  15. CssSeverity="number"

    * This source code was highlighted with Source Code Highlighter.


    Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ нСточности CSS Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠ°ΠΊ ошибки.
  16. CssTermSemicolons="true|false"

    * This source code was highlighted with Source Code Highlighter.


    УправляСт расстановкой Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой послС ΠΏΡ€Π°Π²ΠΈΠ» CSS.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Microsoft Ajax Minifier β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π΄Π°Π½Π½ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π½Π° всС ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² процСссС компиляции.

Бсылки:

  1. Π‘Π°ΠΉΡ‚ Microsoft Ajax Minifier: http://aspnet.codeplex.com/releases/view/40584
  2. Учимся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Microsoft Ajax Minifier: http://www.asp.net/ajaxlibrary/AjaxMinQuickStart.ashx
  3. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡ΠΈ MSBuild’Π° для Microsoft Ajax Minifier: http://www.asp.net/ajaxLibrary/AjaxMinTask.ashx

Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ Ρ…ΠΎΡ‡Ρƒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎΠ± использовании ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния клиСнтских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΡ‚ Microsoft β€” Microsoft Ajax Library, Π² связкС с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ JavaScript, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ сТиматСли JavaScript

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ JavaScript Π½Π° Β«Π±ΠΎΠ΅Π²ΡƒΡŽΒ» ΠΌΠ°ΡˆΠΈΠ½Ρƒ – пропускаСм Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (Ρ‚Π°ΠΊΠΆΠ΅ говорят Β«ΡΠΆΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΒ»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удаляСт ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΠΏΠΎ-всякому ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ посмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ соврСмСнныС ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π·Π° счёт Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ ΡƒΠΊΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ с Π½ΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

РассматриваСмыС Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ относятся ΠΊ ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ послСднСго поколСния.

Π’ΠΎΡ‚ ΠΈΡ… список:

Π‘Π°ΠΌΡ‹Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ – ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π°, поэтому Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΡ….

Наша Ρ†Π΅Π»ΡŒ – ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΈ Ρ‡Ρ‚ΠΎ интСрСсного с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ.

Для GCC:

  1. Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ стоит Java
  2. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ http://closure-compiler.googlecode.com/files/compiler-latest.zip, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ„Π°ΠΉΠ» compiler.jar.
  3. Π‘ΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» my.js: java -jar compiler.jar --charset UTF-8 --js my.js --js_output_file my.min.js

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ„Π»Π°Π³ --charset для GCC. Π‘Π΅Π· Π½Π΅Π³ΠΎ русскиС Π±ΡƒΠΊΠ²Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° \u1234.

Google Closure Compiler Ρ‚Π°ΠΊΠΆΠ΅ содСрТит пСсочницу для тСстирования сТатия ΠΈ Π²Π΅Π±-сСрвис, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ для сТатия. Но ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, поэтому Π΅Π³ΠΎ Ρ€Π΅Π΄ΠΊΠΎ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚.

Для UglifyJS:

  1. Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ стоит Node.js
  2. ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ npm install -g uglify-js.
  3. Π‘ΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» my.js: uglifyjs my.js -o my.min.js

ВсС соврСмСнныС ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. Π Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ JavaScript-ΠΊΠΎΠ΄ Π² синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ.

    Π’Π°ΠΊΠΆΠ΅ поступаСт любой ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ JavaScript ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Но Π·Π°Ρ‚Π΅ΠΌ, вмСсто исполнСния кода…

  2. Π‘Π΅Π³Π°ΡŽΡ‚ ΠΏΠΎ этому Π΄Π΅Ρ€Π΅Π²Ρƒ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π΅Π³ΠΎ.

  3. Π—Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΈΠ· синтаксичСского Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ ΠΊΠΎΠ΄.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ, запустив компилятор со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π»Π°Π³ΠΎΠΌ.

Для GCC Π΅ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ способ вывСсти Π΅Π³ΠΎ:

  1. Π‘Π½Π°Ρ‡Π°Π»Π° сгСнСрируСм Π΄Π΅Ρ€Π΅Π²ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DOT:

ΠœΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ CSS ΠΈ Javascript Π² Website ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ASP.NET / Habr

ΠŸΡ€ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ javascript ΠΈ css Π·Π½Π°ΡŽΡ‚ всС. Ну Ссли ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‚ΠΎ, Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅, это ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ объСма Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π° счСт удалСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, пСрСносов строк ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ. ОсобСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΎ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ сайтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ·ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡ€Π°Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ своСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Но наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² локальной сСти, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΈΠ·ΠΎ дня Π² дСнь, поэтому ΠΌΡ‹ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя совсСм Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ ΠΎΠ± ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ скриптов ΠΈ стилСй. Пока Π½Π΅ стали ΠΏΠ»ΠΎΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ExtJS.

Бозданная страничка со всСми ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ скриптами ΠΈ стилями вСсит большС 5 Мб (ΠΎΠΊΠΎΠ»ΠΎ 200 Ρ„Π°ΠΉΠ»ΠΎΠ²). Одно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сгСнСрированноС DOM-Π΄Π΅Ρ€Π΅Π²ΠΎ Π² ΠΊΠΎΠ΄Π΅ HTML содСрТит Π±ΠΎΠ»Π΅Π΅ 500 000 Π±Π°ΠΉΡ‚. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с систСмой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· 5 сСкунд послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы (инициализация скриптов, ExtJS ΠΈ Ρ‚.ΠΏ.).

Как оказалось, нСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ локальной сСти Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΈ Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ страницами (Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ встроСнноС ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅), ΠΈΠ½ΠΎΠ³Π΄Π° с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ страниц Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство запросов ΠΊ сСрвСру ΠΈ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ExtJS Π² IE8.

Для ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ скриптов сначала скачал Google Closure Compiler, ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных, Π΄Π° ΠΈ корпорация Π΄ΠΎΠ±Ρ€Π° ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π½Π΅ сдСлаСт…

Google Closure Compiler

ПолоТил Ρ„Π°ΠΉΠ»ΠΈΠΊ compressor.jar Π² ΠΏΠ°ΠΏΠΊΡƒ со скриптами. Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ java. Π‘Π΄Π΅Π»Π°Π» bat-Ρ„Π°ΠΉΠ»ΠΈΠΊ запуска с двумя ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, послСдняя ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всСго лишь Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² 10 сСкунд, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΡΠΏΠ΅Ρ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ошибки ΠΈ самому Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ Π²ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ слил всС скрипты Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», вСс ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π° Ρ€Π°Π·Π° (это содСрТимоС bat-Ρ„Π°ΠΉΠ»Π°):
cd %0\..\
java -jar compiler.jar --js=NavigationJS.js --js=SSSC.js (здСсь Π΅Ρ‰Π΅ ΠΊΡƒΡ‡Π° Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ)  --js_output_file=bcr_master.min.js
ping -n 1 -w 100000 192.168.254.254 >nul

ВсС просто ΠΈ элСгантно, провозился ΠΌΠΈΠ½ΡƒΡ‚ ΠΏΡΡ‚ΡŒ. Команда cd %0\..\ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ дальнСйшСС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ происходило Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСн сам .bat Ρ„Π°ΠΉΠ», Π° Π½Π΅ с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ послС запуска ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Но Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° идСя ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ JS, Π½ΠΎ ΠΈ CSS Ρ„Π°ΠΉΠ»Ρ‹, Π° Google Closure этого Π΄Π΅Π»Π°Ρ‚ΡŒ, ΡƒΠ²Ρ‹, Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠΈΠ» ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ всС Π½Π° YUI Compressor, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ², ΠΈ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ сТимаСт CSS.

YUI Compressor

Для объСдинСния всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π» написан Π±Π°Ρ‚Π½ΠΈΠΊ ΡƒΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большСго объСма, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ этот YUI Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² строкС сразу нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² β€” Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ€ΠΌΠ»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ. А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅ΠΏΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ copy, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ ΡΠΆΠ°Ρ‚ΡŒ юай компрСссором.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β€” всС ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ javascript Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π° Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой, Π° Π»ΡƒΡ‡ΡˆΠ΅ с пСрСносом Π½Π° слСд.строку. Π’ΠΎΠΎΠ±Ρ‰Π΅ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой, ΠΈ Ρ€Π΅ΡˆΠ°Ρ€ΠΏΠ΅Ρ€ Π»ΡŽΡ‚ΠΎ Π½Π΅Π³ΠΎΠ΄ΡƒΠ΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚ наш javascript.

cd %0\..\
copy /b .\..\..\Scripts\JSON.js + (Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ²)  + Bids.js combined.js
java -jar yuicompressor-2.4.8.jar combined.js --type js -o combined.min.js --charset cp-1251
copy /b combined.min.js +  (Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ²)  + .\..\..\Scripts\jquery\plugins.fileupload.min.js mbcrfull.min.js
del combined.min.js
del combined.js

::copy /b .\..\..\Styles\MPMessage.css +  (Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ²)  + .\..\..\BCR\Styles\Kondor.css combined1.css
::java -jar yuicompressor-2.4.8.jar combined1.css -o .\..\..\BCR\Styles\mbcrfull.min.css --charset cp-1251
::del combined1.css

::copy /b .\..\..\Styles\jquery\ui.all.css + (Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ²) + .\..\..\Styles\jquery\jqueryslidemenu.css combined2.css
::java -jar yuicompressor-2.4.8.jar combined2.css -o .\..\..\Styles\jquery\mbcrfull.min.css --charset cp-1251
::del combined2.css

::ping -n 1 -w 10000 192.168.254.254 >nul

Π’Π°ΠΊ выглядит Ρ„Π°ΠΉΠ» запуска компрСссора Π² настоящСС врСмя. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, строки ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ CSS Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² силу спСцифики нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. На самом Π΄Π΅Π»Π΅ Π² ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ CSS Π΅ΡΡ‚ΡŒ масса тонкостСй, Π° ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π° ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» β€” Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· Π»Π΅Π³ΠΊΠΈΡ…:

  • Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° использованиСм ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ изобраТСниям. Π‘Ρ‚ΠΈΠ»ΠΈ ExtJS ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ основаны Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… путях, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½ΠΈ сразу Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΈΠ· нашСго объСдинСния (кстати, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ своСм ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ ΠΌΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹).
  • Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π² CSS Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹@import. Π­Ρ‚ΠΎ Π°Π΄.
  • Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ стили ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρƒ нас получаСтся Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ нСбольшой. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ CSS ΠΏΠΎΠΊΠ° ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ. (МоТно Π±Ρ‹Π»ΠΎ ΠΈ Π½Π° Google Closure Compiler ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС)

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ самоС интСрСсноС β€” Π±Π°Ρ‚Π½ΠΈΠΊ Ρƒ нас Π΅ΡΡ‚ΡŒ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ скрипты Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈΡ… ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ВсС Π²Ρ€ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒβ€¦. ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· запуская скрипт.

Автоматизация ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π² Ρ€Π΅Π»ΠΈΠ·

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ Π² SVN β€” рабочая (DEV) ΠΈ рСлизная. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ вСрсии Π½Π° сСрвСр ΠΌΡ‹ выполняСм merge всСх (Π½Ρƒ ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½ΠΎΠΉ части) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π±ΠΈΠ»Π΄ΠΈΠΌ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ (Ссли всС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ) ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ. И Π½Π°Π΄ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ самому постоянно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ этот Π±Π°Ρ‚Π½ΠΈΠΊ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π² Ρ€Π΅Π»ΠΈΠ·, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° всСми Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π»ΠΈ это Π΄Π΅Π»Π°Ρ‚ΡŒ.

И Ρ‚ΡƒΡ‚ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят Hook Scripts Π² TortoiseSVN!

Π’ настройках ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° SVN Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Hook Scripts ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚Π°ΠΌ ΠΏΠ°ΠΏΠΊΡƒ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ сам Π±Π°Ρ‚Π½ΠΈΠΊ. Π’ опциях Hook Type Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Start-Commit HookΒ«, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипт запускался ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ отобразится ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.


Настройка запуска ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

Вуаля, всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ Π½ΠΈ Π·Π° ΠΊΠ΅ΠΌ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ!

Π•ΡΡ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΡƒΡ‡Π° встроСнных Π² visual studio срСдств объСдинСния ΠΈ ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ машинС, Π° Π΅Ρ‰Π΅ Π² Π½ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ тонкостСй. Π”ΠΎ этого Ρƒ нас использовался встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Composite Scripts, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ достаточной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π² сравнСнии с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ YUI ΠΈΠ»ΠΈ Google closure Compiler.

Как ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайта ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² JavaScript ΠΈ CSS

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сайта. Рассмотрим, ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JavaScript ΠΈ CSS ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурса!

МСдлСнная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². ЕстСствСнно, сайту Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, Ссли ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ посСтитСлСй.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ исслСдования Π΄ΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сайта ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ коэффициСнт конвСрсии. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆ, Π΄ΠΎΡ…ΠΎΠ΄Π° ΠΎΡ‚ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΈ Ρ‚.Π΄. ΠšΡ€ΠΎΠΌΠ΅ этого ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайта являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ранТирования.

ΠœΡ‹ рассмотрим нСсколько способов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ исходного ΠΊΠΎΠ΄Π° сайта для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

ΠœΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ – это удалСниС ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΈ символы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅ JavaScript, CSS ΠΈ HTML, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для понимания. Но ΠΎΠ½ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта.

МоТно ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ JavaScript ΠΈ CSS Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, просматривая ΠΈΡ… ΠΈ удаляя ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ символы Π½ΠΎΠ²ΠΎΠΉ строки. Но для этого потрСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Для WordPress ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ с этим ΠΏΠΎΠΌΠΎΡ‡ΡŒ. Fast Velocity MinifyΒ ΠΌΠΎΠΆΠ΅Ρ‚ быстро ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ JavaScript, CSSΒ ΠΈ HTML ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайты.

Autoptimize – Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ для ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ JavaScript ΠΈ CSS. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ сразу нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ CSS Π² head Π²Π΅Π±-страниц.

ДобавлСния JavaScript ΠΈ CSS Π² HTML сайта позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π±-страниц. Π­Ρ‚ΠΎ достигаСтся Π·Π° счСт сокращСния количСства Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ.

Но Ρƒ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ нСсколько нСдостатков. Если Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большой ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ ΠΊΠΎΠ΄ JavaScript ΠΈ CSS Π² HTML, это сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Π΅Π±-страницы.

Для размСщСния JavaScript ΠΈΠ»ΠΈ CSS Π² HTML Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ Autoptimize. Для этого послС установки ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² ΠΏΠ°Π½Π΅Π»ΠΈ администрирования WordPress ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» Settings > AutoptimizeΒ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Show advanced settings.

Π—Π΄Π΅ΡΡŒ доступно Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° добавлСния CSS.

Если Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π²Π°ΠΌ потрСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ CSS слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ HTML- Ρ„Π°ΠΉΠ»Π°ΠΌ.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ скрипты JavaScript ΠΈ CSS стили ΡƒΠΊΠ°Π·Π°Π½Ρ‹ (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹) Π² HTML, опрСдСляСт, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

Π˜Π½Ρ‹ΠΌΠΈ словами, CSS-ΠΊΠΎΠ΄ всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ располоТСн Π² Ρ‚Π΅Π³Π΅ <head>, Π° JavaScript – Π² самом Π½ΠΈΠ·Ρƒ Ρ‚Π΅Π³Π° <body>. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ содСрТимоС Π²Π΅Π±-страницы Π±Π΅Π· CSS.

JavaScript- ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄Π°ΠΆΠ΅ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ CSS. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ скриптов Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ позволяСт Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ JavaScript-ΠΊΠΎΠ΄Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ CSS ΠΈ JavaScript- ΠΊΠΎΠ΄ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° Autoptimize. Для этого Π² Π΅Π³ΠΎ настройках Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Β«Optimize JavaScript Code?Β» ΠΈ Β«Optimize CSS Code?Β»:

Π­Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ Autoptimize автоматичСски ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ вСсь CSS-ΠΊΠΎΠ΄ Π² Ρ€Π°Π·Π΄Π΅Π» head, Π° JavaScript – Π² самый Π½ΠΈΠ· HTML.

Π’ наши Π΄Π½ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ влияСт Π½Π° Π΄ΠΎΡ…ΠΎΠ΄ ΠΈ конвСрсии рСсурса.

Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ способа, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайта Π·Π° счСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ JavaScript ΠΈ CSS:

  1. ΠœΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JavaScript-ΠΊΠΎΠ΄ ΠΈ CSS.
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС JavaScript ΠΈ CSS.
  3. Π£ΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ стили ΠΈ скрипты.

Данная публикация прСдставляСт собой ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«HOW TO OPTIMIZE JAVASCRIPT AND CSS AND IMPROVE WEBSITE PERFORMANCEΒ» , ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.Ρ€Ρƒ

НСсколько способов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JavaScript для ускорСния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JavaScript? Когда Π΄Π΅Π»ΠΎ касаСтся ΠΎΠ½Π»Π°ΠΉΠ½-бизнСса, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ восприятиС являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. НСваТно, Π²Π΅Π΄Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π½ΠΈΡˆΠ΅Π²Ρ‹ΠΉ Π±Π»ΠΎΠ³, SaaS сайт ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½. Если Π²Ρ‹ Π½Π΅ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ваш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π½Π΅ Π½Π°Π΄Π΅ΠΉΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ купят.

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, любой Π±Ρ€Π΅Π½Π΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с сайтом, обращая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ… являСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² Π²Π΅Π±-сайтов это ΡƒΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ· Π²ΠΈΠ΄Ρƒ.

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-страницы с восьми Π΄ΠΎ Π΄Π²ΡƒΡ… сСкунд ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ коэффициСнт конвСрсии Π΄ΠΎ 74 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ сайт ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π²Π°ΠΌ практичСски ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

Полная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PageSpeed Insights

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ вашСго Π²Π΅Π±-сайта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Google PageSpeed Insights. Π­Ρ‚ΠΎ бСсплатный инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски сканируСт ΠΈ ΡΡ‚Π°Ρ†ΠΈΠΎΠ½Π°Ρ€Π½ΡƒΡŽ, ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΡƒΡŽ вСрсии сайта.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

ΠšΡ€ΠΎΠΌΠ΅ обнаруТСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², PageSpeed Insights Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ. Π’Π»Π°Π΄Π΅Π»ΡŒΡ†Ρ‹ сайтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ ΠΎ скорости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

На Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ CSS ΠΈ JavaScript Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‚ ваш сайт. Π₯отя это ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ для ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов. Π”Π°Π²Π°ΠΉΡ‚Π΅ сразу рассмотрим, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JavaScript рСсурсы.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π° – это процСсс удалСния символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ читаСмости ΠΊΠΎΠ΄Π°.
НапримСр, однострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ исправлСниС Π±Π°Π³ΠΎΠ², Π½ΠΎ, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€.

ΠŸΡ€ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ эти лишниС символы ΠΈ Ρ‚Π΅ΠΌ самым ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„Ρ„ΠΈΠΊ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PageSpeed Insights Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ссылку Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΒ» ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ рСсурс Ρ‡Π΅Ρ€Π΅Π· систСму управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ (CMS) ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· FTP.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

НапримСр, Ссли Π²Π΅Π±-сайт Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° WordPress, Ρ‚ΠΎΠ³Π΄Π° вСсь ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ доступСн для рСдактирования Π² ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β». Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄Β» ΠΏΠ°Π½Π΅Π»ΠΈ администрирования.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡ€Π° ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. НавСрноС, самый Π»Π΅Π³ΠΊΠΈΠΉ способ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ – это ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ инструмСнты. Если Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ CSS ΠΈ JavaScript, Ρ‚ΠΎ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌΠΈ инструмСнтами для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ CSS Minifier ΠΈ JSCompress.

ИспользованиС CSS Minifier

CSS Minifier – это бСсплатный ΠΈ простой инструмСнт для сТатия CSS-рСсурсов. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, Π·Π°Π΄Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сТатия ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«MinifyΒ».

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСкунд Π΄ΠΎ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, Π² зависимости ΠΎΡ‚ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Новый ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс CMS ΠΈΠ»ΠΈ FTP.

Π’Π°ΠΆΠ½ΠΎ: Π’ качСствС ΠΌΠ΅Ρ€Ρ‹ прСдостороТности, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ измСнСния. ΠŸΡ€ΠΎΡ‰Π΅ всСго ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ„Π»Π°ΠΉΠ½ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сработала Π»ΠΈ минимизация, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ тСст Ρ‡Π΅Ρ€Π΅Π· PageSpeed Insights. CSS Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π΄Π°Π²Π½ΠΎ Π±Ρ‹Π» сТат, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ большС Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ сообщСниС Β«ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ CSSΒ».

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

ИспользованиС асинхронной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для JavaScript

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ CSS, оптимизация JavaScript выполняСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· JSCompress, Π½ΡƒΠΆΠ½ΠΎ сначала Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ асинхронной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ΄Π°.

ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉΒ», Π½ΠΎ, Π² контСкстС JavaScript, Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ динамичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, просто Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ тэг async Π² ΠΊΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ²Π° .js-Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² исходном HTML-ΠΊΠΎΠ΄Π΅ вашСго Π²Π΅Π±-сайта. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

<script src=»yourscript.js» async></script>

<script src=»yourscript.js» async></script>

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ этой ссылкС.

ОбъСдинСниС JavaScript-Ρ„Π°ΠΉΠ»ΠΎΠ²

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ JavaScript, это объСдинСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ страницС. Π­Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ количСство HTTP-запросов Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ, соотвСтствСнно, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы.

НапримСр, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ нСсколько .js Ρ„Π°ΠΉΠ»ΠΎΠ² Π² исходном ΠΊΠΎΠ΄Π΅:

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

<script src=»http://www.yoursite.com/menu.js»></script> <script src=»http://www.yoursite.com/tools.js»></script> <script src=»http://www.yoursite.com/footer.js»></script>

<script src=»http://www.yoursite.com/menu.js»></script>

<script src=»http://www.yoursite.com/tools.js»></script>

<script src=»http://www.yoursite.com/footer.js»></script>

Π’Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½ JavaScript-Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ всС Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·:

<script src=»http://www.yoursite.com/all.js»></script>

<script src=»http://www.yoursite.com/all.js»></script>

Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Ρ‰Π΅ большС ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ скриптов, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тэги http ΠΈ type. НапримСр, вмСсто:

<script src=»http://www.yoursite.com/all.js» type=»text/javascript»></script>

<script src=»http://www.yoursite.com/all.js» type=»text/javascript»></script>

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

<script src=»//www.yoursite.com/all.js»></script>

<script src=»//www.yoursite.com/all.js»></script>

ИспользованиС JSCompress

НаконСц, JSCompress Ρ‚Π°ΠΊ ΠΆΠ΅ прост Π² использовании, ΠΊΠ°ΠΊ ΠΈ CSS Minifier. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Compress JavaScriptΒ».

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Π”Π°Π»ΡŒΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«OutputΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ сТатый JavaScript:

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ функционирования являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΠΎΠ΄Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ случаСтся, ΠΊΠΎΠ³Π΄Π° элСмСнты страницы ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈ ΠΊΠΎΠ΄ остаСтся Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ.

Найти Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Google Chrome. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ΅ мСню, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты» ΠΈ Π·Π°Ρ‚Π΅ΠΌ Β«Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²Β».

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎΠΉ страницС, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Β«CoverageΒ» Π² подсСкции Β«More ToolsΒ» мСню настроСк.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Π’Π°ΠΊ Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«CoverageΒ» Π² Developer Console. Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Β«Instrument CoverageΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

ПослС окончания ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ список рСсурсов с объСмом Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Π½ΠΈΡ… ΠΊΠΎΠ΄Π° Π² Π±ΠΈΡ‚Π°Ρ…. Π­Ρ‚ΠΎΡ‚ список отобраТаСтся справа Π² многостолбцовом ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ с Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Если Π²Ρ‹ провСряСтС ΠΊΠΎΠ΄ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² этом спискС сочСтаниС рСсурсов CSS ΠΈ JavaScript. ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим списком Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ всСх Π»ΠΈΡˆΠ½ΠΈΡ… элСмСнтов ΠΊΠΎΠ΄Π° ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ являСтся Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ процСссом. Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ сСбС, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ снова ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ рСсурсы.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ CSS ΠΈ JavaScript ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΎΡ‡Π΅Π½ΡŒ слоТным. Но, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ инструмСнты ΠΈ web host, Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

Автор: Gary Stevens

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: https://www.sitepoint.com/

РСдакция: Команда webformyself.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для Π±ΠΎΠ»Π΅Π΅ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайтов

ВСрстка-ΠœΠ°ΡΡ‚Π΅Ρ€. ΠžΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π΄ΠΎ вСрстки популярных шаблонов

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вСрстку сайтов с нуля

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ js для многостраничных сайтов? β€” Π₯Π°Π±Ρ€ Q&A

Благодаря ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ Π² коммСнтариях ΠΈ Π΅Ρ‰Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ изысканиям я ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, вопрос ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 2 ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.
1. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° скриптов Π½Π° устройство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π—Π΄Π΅ΡΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹ΠΉ всСми — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ всС скрипты Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», ΠΌΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, ΡΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² кэш ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²ΠΈΠ·ΠΈΡ‚Π΅.
2. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Π½Π° устройствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π—Π΄Π΅ΡΡŒ слоТнСС. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ΠΎ происходит Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ страницы нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ взят скрипт ΠΈΠ· кэша ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Если Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° просто объСдинили всС свои скрипты Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ сразу ΠΆΠ΅ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (взятия ΠΈΠ· кэша) Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΈΡ… Π°Π½Π°Π»ΠΈΠ· ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя, Π° Π½Π° это врСмя Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ «Π·Π°ΠΌΠΈΡ€Π°Π΅Ρ‚». Π’ зависимости ΠΎΡ‚ мощности устройства (дСсктоп ΠΈΠ»ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½) ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° вашСго объСдинСнного яваскрипта это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚ Π΄ΠΎΠ»Π΅ΠΉ сСкунды Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСкунд. Но Π΄Π°ΠΆΠ΅ Π·Π°ΠΌΠΈΡ€Π°Π½ΠΈΠ΅ Π² 0.2-0.3 сСкунды Π²ΠΏΠΎΠ»Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅:
calendar.perfplanet.com/2011/lazy-evaluation-of-co…
habrahabr.ru/post/145269

ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ вопрос, ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅, Ρ‚.Π΅. ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ вСсь js Π² ΠΎΠ΄Π½ΠΎΠΌ большом Ρ„Π°ΠΉΠ»Π΅, Π½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ страницС ΠΊΠΎΠ΄, Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. РСшСниС этому Π΅ΡΡ‚ΡŒ! НазываСтся ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ (Π»Π΅Π½ΠΈΠ²ΠΎΠ΅) Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ яваскрипта, ΠΏΠΎ английски, delay (lazy) javascript evaluation. Π’.Π΅. Ссли Π²Ρ‹ вСсь ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ Ρƒ вас этого ΠΊΠΎΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΡŒΡ‚Π΅ΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ выполнялся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ΅Π½ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ страницС.

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ достаточно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ, Π½ΠΎ Ρ‚.ΠΊ. ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ require.js, я смотрСл, ΠΊΠ°ΠΊ это Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Начиная со 2 вСрсии require.js ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ яваскрипта ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ это автоматичСски для всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· define. Π’Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для скриптов написанных Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ AMD ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· shim (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² jquery) ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ сразу ΠΆΠ΅ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. К соТалСнию, Ρƒ нас Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ придСтся Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ requirejs. Но, каТСтся, это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос Ρ‚Π°ΠΊΠΎΠΉ: ΠΏΠ°ΠΊΡƒΠ΅ΠΌ всС скрипты Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Π½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ заботимся ΠΎΠ± ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ скриптов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ лишнСй Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ яваскрипта.

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ HTML, CSS, JS-Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° WordPress

Π’Π΅ΠΌΠ° ΠΎΠ± ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ скорости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта поднималась Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт. Он оцСниваСтся ΠΊΠ°ΠΊ поисковиками, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΎ Ρ‡Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. И Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° придСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Ρ€ΡƒΠ΄ΠΈΡ‚ΡŒΡΡ. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ Ρ€Π΅Ρ‡ΡŒ шла ΠΎ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ WordPress, gzip сТатии ΠΈ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… совСтов. Π­Ρ‚ΠΎ всС ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ «комплСксным процСссом». А сСгодня ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ сайта.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ любой сайт Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CSS, JavaScript, HTML. ВсС ΠΎΠ½ΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написаны с удобством для рСдактирования ΠΈ понятным ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ΠΎ Π΅ΡΡ‚ΡŒ отступы, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, пСрСнос строки ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. Но это Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ Π±Π΅Π· всСх этих ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². И Π΄Π°ΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ вСсь ΠΊΠΎΠ΄. БСйчас ΠΊΠ°ΠΊ Ρ€Π°Π· этим ΠΈ займСмся.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ минимизация?

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ – это Ρ‚Π΅Ρ€ΠΌΠΈΠ½ сокращСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡƒΡ‚Π΅ΠΌ удалСния Π»ΠΈΡˆΠ½ΠΈΡ… символов, ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², условных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ сути Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌΠΈ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π΅Π±-страницы. Π’ Ρ…ΠΎΠ΄Π΅ Ρ‡Π΅Π³ΠΎ вСсь ΠΊΠΎΠ΄ образовываСтся лишь Π² ΠΎΠ΄Π½Ρƒ строку. Π’Π΅ΠΌ самым ускоряСт Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ?

Π’Π½Π°Ρ‡Π°Π»Π΅, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ вашСго сайта, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² PageSpeed Insights. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎ ΠΈ послС ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².

Установка

Для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ WordPress Π±Ρ‹Π»ΠΎ создано Π½Π΅ΠΌΠ°Π»ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ (ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ JS, HTML, CSS Π±Π΅Π· особых Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, это ΡΡƒΡ‚ΡŒ всСх ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²Β β€” ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Из всСх ΠΌΠ½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² я остановился лишь Π½Π° ΠΎΠ΄Π½ΠΎΠΌ: WP Minify Fix. НС ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ со своими обязанностями, Π° ΠΈΠ·-Π·Π° большого количСства настроСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ попросту Π½Π΅ посчитал Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ, Π²ΠΎ всяком случаС для мСня.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ скачиваСм ΠΈ устанавливаСм ΠΏΠ»Π°Π³ΠΈΠ½ WP Minify Fix. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Настройки- WP Minify FixΒ». Π—Π΄Π΅ΡΡŒ всСго ΠΎΠ΄Π½Π° страница ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ строчки – Π²ΠΊΠ»/Π²Ρ‹ΠΊΠ» ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚ (ссылка Π² Ρ„ΡƒΡ‚ΠΎΡ€Π΅ Π½Π° ΠΏΠ»Π°Π³ΠΈΠ½)

Π”Π°Π»ΡŒΡˆΠ΅ Π²ΠΊΠ» ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ JS, CSS, HTML Ρ„Π°ΠΉΠ»ΠΎΠ². Волько Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π½Π΅ всС сразу, Π° ΠΏΠΎ порядку ΠΈ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ провСряйтС сайт Π½Π° Π΅Π³ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

И послСдниС Π΄Π²Π° поля Π²Π²ΠΎΠ΄Π° – ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² сокращСнии.

Π§ΡƒΡ‚ΡŒ Π½Π΅ Π·Π°Π±Ρ‹Π»: Π² ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ… для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ имССтся свой встроСнный инструмСнт ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² (Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅).

Π’ΠΎΡ‚ ΠΈ всС.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *