Предоставление не минимизированного CSS / javascript по требованию - PullRequest
4 голосов
/ 18 декабря 2009

Сокращение ваших таблиц стилей и файлов сценариев повышает производительность вашего сайта.

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

Есть ли стандартизированный способ сделать это? Единственный способ, которым я могу придумать, - это использовать соглашение об именах:

http://example.com/css/styles.min.css - минимизированная версия

http://example.com/css/styles.css - не минимизированная версия

Проблема этого подхода в том, что он основан на внеполосном соглашении. Есть ли более строгий способ реализации не минимизированного кода по требованию?

Ответы [ 2 ]

4 голосов
/ 18 декабря 2009

У вас может быть какой-либо вид обработчика (например, обработчик .NET) для файлов .css, который по умолчанию обслуживает минимизированную версию, но если в строке запроса был найден определенный параметр (например, debug = true), тогда можно обработать неминифицированная версия.

Таким образом, вы всегда можете ссылаться на версию .css, и, если доступна минимизированная версия, это можно использовать в предпочтении.

2 голосов
/ 18 декабря 2009

Предложение: использовать гипермедиа. Преимущество: ваш выбор URI не имеет большого значения.

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

<a target="_blank" href="http://www.example.com/css/styles.css"
    rel="sourcecode" title="The non-minified CSS source.">
    Click here for CSS source code. </a>

<a target="_blank" href="http://www.example.com/scripts/buttons.js"
    rel="sourcecode" title="The non-minified JavaScript source.">
    Click here for JavaScript source code. </a>

При предоставлении источников пользователям-разработчикам вне обычного использования веб-приложения, имело бы смысл сослаться на них в невидимой части источника:

<link rel="sourcecode" type="text/css"
    href="http://www.example.com/css/styles.css"
    title="The non-minified CSS source." />

<link rel="sourcecode" type="text/javascript"
    href="http://www.example.com/scripts/buttons.js"
    title="The non-minified JavaScript source." />

Эти ссылки будут доступны только разработчикам, которые просматривают исходный код HTML, или людям, у которых действительно выдвинутые пользовательские агенты.

В том же ключе вы можете поместить не минимизированный исходный код CSS (но не JS) в качестве альтернативной таблицы стилей.

Примечание: rel="sourcecode" не является стандартом (я только что придумал), но я уверен, что он не нарушает спецификации; и вместе с title помогает сообщить цель ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...