2014-10-17 4 views
1

Я использую Mindscape Workbench, чтобы свести к минимуму мои файлы scss. Мои страницы настроены на использование файлов * .min.css. В случайные моменты минимальный файл не публикуется вместе с остальной частью системы.Загрузить альтернативный css при желании css отсутствует

У меня есть много файлов css и вы не хотите вручную проверять каждый после каждой публикации.

UPDATE:

  • Я хотел бы, чтобы это было во время выполнения исправления. Смысл, если браузер не найдет нужный css, он не сможет выполнить полный css.
  • Проблема не возникает, когда я изменяю и публикую файл. Однако у нас есть много людей, которые работают над решением и обновляют репозиторий git. Так или иначе, некоторые из пользователей непреднамеренно удаляют файлы * .min.css. Это определенно не нарочно и не должно происходить.

Есть ли способ указать, что я хочу файл * .min.css, но если он отсутствует, загрузите * .css вместо этого?

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

UPDATE2:

Другой вариант представляет собой автоматизированное средство, чтобы гарантировать, что все * .min.css файлы были включены в последнюю публикацию. В идеале он найдет все * .scss-файлы и проверяет, существует ли * .min.css и поднимет флаг, если он отсутствует.

+0

Вы хотите сделать это на стороне клиента? в браузере? –

+8

Похоже, вы должны исправить проблему публикации, а не подделывать код. – DavidG

+0

@DavidG, я работаю с разработчиками, чтобы помочь устранить проблему, но было бы неплохо иметь отказоустойчивость, если такая возможность возможна. – davids

ответ

2

Прослушать комментарий @ DavidG, решить проблему публикации. Если это действительно действительно не является вариантом. Я думаю, что следующая лучшая вещь заключается в том, чтобы ваши разработчики меняли систему связывания/минимизации, чтобы иметь надлежащее резервное копирование в неустановленные файлы. Я полагаю.

Однако, если вы должны рубить вокруг этой проблемы, то есть, если вы просто хотите, например, чтобы иметь букмарклет работать вокруг этой проблемы на некоторое время, вы можете использовать спин-офф от this answer. Что-то вроде этого:

var links = document.querySelectorAll('head link[href*=".min.css"]'); 

for (var i = 0; i < links.length; i++) { 
    var newLink = document.createElement("link"); 
    newLink.href = links[0].href.replace(".min.css", ".css"); 
    newLink.type = "text/css"; 
    newLink.rel = "stylesheet"; 
    newLink.media = "screen,print"; 
    var head = document.getElementsByTagName("head")[0]; 
    head.insertBefore(newLink, head.firstChild); 
} 

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