Как запустить SASS или LESS на общем хосте? - программирование
Подтвердить что ты не робот

Как запустить SASS или LESS на общем хосте?

Я хотел бы использовать переменные в CSS, поэтому я рассматриваю возможность использования SASS или LESS для этой цели.

Моя проблема, однако, в том, что я буду развертывать проект на общем хосте, а не на выделенном узле с доступом к командной строке.

Мне также не нравится идея моих пользователей, которые должны скомпилировать файлы CSS в своих браузерах с помощью Javascript. (Что делать, если они отключены Javascript?)

Каков наилучший способ справиться с такой ситуацией? Должен ли я прибегать к простой старой CSS в конце? Надеюсь, не...

4b9b3361

Ответ 1

Скомпилируйте Sass или Less на вашей машине разработки и нажимайте скомпилированный, уменьшенный CSS на ваш сервер.

Ответ 2

У вас есть противоречие.

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

Если вам не разрешено устанавливать и запускать собственное программное обеспечение на вашем общем хосте, вы не сможете скомпилировать SASS на лету. Вы должны скомпилировать SASS перед загрузкой кода на сервер.

Если вас не устраивает необходимость компиляции SASS локально, вы можете автоматизировать его с помощью метода развертывания, такого как Capistrano или, возможно, ты едешь. Выбор инструмента развертывания сильно зависит от среды разработки и хостинга.

Другой вариант - компилировать LESS локально в браузерах клиентов. См. http://lesscss.org/#usage. Но я бы не рекомендовал это по двум причинам:

  • Это сделает ваш сайт менее доступным (какая ирония!). Вы не должны полагаться на тяжелый JS для применения основных стилей на вашем сайте.
  • SASS предпочтительнее LESS по нескольким причинам, главным из которых является удивительный набор инструментов Compass.

Ответ 3

Во-первых, предварительные процессоры CSS - это инструмент разработки, который упрощает управление вашими CSS файлами - они не запускаются в браузере.

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


Чтобы пересмотреть мой старый ответ: некоторые предварительные процессы CSS действительно могут выполняться в браузере. Например, Lesscss будет запрашивать и компилировать меньше листов в CSS и обновлять их в реальном времени. Это бесценный помощник по развитию, но определенно не то, что вы хотите сделать в производственной среде.

Ответ 4

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

То, что мне пришлось делать на моем общем хосте (хостинг 1and1), было следующим - [эти инструкции] - при установке пользовательских драгоценных камней на общем хосте. Для выполнения необходимых действий вам потребуется доступ к оболочке на ваш хостинг-сервер. Вы также захотите, чтобы вы обновили команды, которые вы используете, чтобы обрабатывать последнюю версию RubyGems (2.0.3 на момент публикации).

Как только вы выполнили начальную настройку, это просто вопрос запуска команды gem install sass. Затем перейдите в каталог, в котором хранятся ваши файлы CSS, и запустите sass --watch, чтобы начать генерировать ваши файлы CSS с помощью SASS.

Ответ 5

Два параметра:

1) Препроцессор LESS/SASS (рекомендуется)

В OP не упоминалось, какие возможности обработки на стороне сервера доступны, которые могли бы здесь сузить параметры, но вы хотите использовать LESS/SASS на стороне сервера, что в идеале также минимизирует и кэширует созданный CSS.

Если у вас есть PHP, вы можете использовать lessphp; старый проект - github.com/Incenteev/lessphp, но не используйте, что проект застопорился, скорее используйте github.com/oyejorge/less.php, который имеет много предложить и хорошо документирован.

Для SASS есть github.com/richthegeek/phpsass

2) LESS.js SASS.js(+)

Взгляните на страницу less.js в разделе использование клиентской стороны, простое, но не производственное решение.

Реализация SASS JS более сложна, и кажется, что были сделаны многочисленные попытки, я не могу ручаться за нее, но этот проект выглядит довольно активно: medialize/sass.js

+ ПРИМЕЧАНИЕ. Это плохое решение для живой среды, так как браузер должен загружать полные файлы LESS/SASS, компилировать и отображать; Большинство современных браузеров могут справиться с этим, но это очень неэффективно. Используйте только в своем dev enviro или для макетов.

Ответ 6

Хотя это не SASS или LESS, CSS-Crush имеет все стандартные функции предварительного процессора. Я использовал его в своих проектах на общих компьютерах без установки на стороне сервера.

Единственное требование - это PHP, который задан на любом достойном хосте.

Ответ 7

Tintin81, просто введите компилятор php sass/less в google и используйте первые результаты, например scssphp или lessphp

http://leafo.net/scssphp/

http://leafo.net/lessphp/

Он скомпилирует ваши scss файлы в css на ходу, с кешированием и так далее. Легко реализуется, и исходные файлы scss остаются с проектом. Он будет работать в Интернете или в локальной среде.

Я не могу поверить, сколько глупых бесполезных ответов было дано здесь вместо простых ответов на вопрос.

Ответ 8

Это может помочь - я исследую его с той же целью http://www.dev-metal.com/compile-sass-to-css-with-pure-php-automatically/

Это a script, который вы инициируете через Интернет, а затем продолжает работать неограниченное время, чтобы искать scss файлы, устаревшие.

Обновление: он отлично работает, но хост, кажется, рассматривает script как убегающий и убивающий его. Поэтому я отредактировал php-sass-watcher.php, чтобы прокомментировать цикл и добавил echo "Finished compiling " . date(DateTime::RSS);. Затем в моем затмении я открываю представление веб-браузера и просто запускаю URL-адрес при каждом изменении, подобно запуску компилятора в командной строке.