Чи є спосіб компілювати менше файлів у CSS (так що кожен браузер не повинен)?


20

Я розглядаю можливість використовувати менше, але замислююся над думкою про те, що браузер не має JavaScript, а мій CSS не читається (а сайт виглядає жахливо).

Крім того, це ображає інженера в мені, щоб змусити кожен браузер "компілювати" цей файл менше .css, коли ми могли просто "компілювати" його кожен раз, коли ми його змінюємо.


1
@ Anonymous - Якщо ви перевіряєте менше, вам слід також ознайомитись з SASS та COMPASS.
Сорс

Stylus та OOCSS також є подібними продуктами.
Lèse majesté

1
Я опублікував відповідну відповідь, в якій пояснюється, як автоматично налаштувати меншу компіляцію на сервері: webmasters.stackexchange.com/questions/38386/…
romaninsh

3
Я не знав, що хтось збирає менше в браузерах!
Кенні Евітт

Відповіді:


17

Так. Ви можете використовувати додаток, який автоматично копіює менші файли до CSS на вашій розроблювальній машині під час кодування. Потім просто завантажте згенерований CSS-файл на свій сервер, коли закінчите розробку.



10

Менше постачається з двійковим файлом (менше), який дозволяє попередньо компілювати ваші файли .less. Ви використовуєте його як таке:

 $ lessc styles.less > styles.css

Але я думаю, що більшість людей просто використовують команду lessc -wабо lessc --watchкоманду, щоб автоматично перекомпілювати таблицю стилів CSS кожного разу, коли файл МЕНШЕ оновлюється. Ви також можете зменшити розмір CSS, наприклад lessc -w -x.

Редагування: Просто для уточнення, lessc поставляється з установкою на стороні сервера (тобто, коли ви встановлюєте менше через менеджер пакунків node.js). Але ви можете завантажити його вручну з GitHub .

менше розміщено в /bin/lessc. Це, звичайно, бінарний * nix (також повинен працювати для Mac), але є двійковий файл Windows ( lessc.exe ) на основі бездоганних, який є ще одним компілятором Windows LESS.

Оновлення: використовуйте less-watchдля автоматичного компіляції.

Крім того, багато розробників в наші дні використовують завдання бігунів, як gruntкерувати автоматизацією побудови (збирання, мінімізація, тестування тощо). Використовуючи grunt-contrib-watch, grunt-contrib-lessі grunt-contrib-livereloadви можете реально впорядкувати робочий процес розвитку.

Наприклад, якщо ви використовуєте yoдля складання свого нового веб-проекту, він заздалегідь налаштований для перегляду ваших менших / CSS / JS / HTML файлів для змін та перекомпіляції необхідних частин вашого проекту, коли це необхідно. Просто запустіть grunt serve, і ви готові до кодування, не турбуючись про компіляцію вручну (менше / SASS / CoffeeScript) / мінімізацію / об'єднання коду або оновлення веб-переглядача вручну, як печера ...


1
Я не впевнений, яку версію ви використовуєте. В останній версії 1.3.0 немає функції перегляду. 9 місяців тому було знято запит на функцію - watch. github.com/cloudhead/less.js/pull/246
Джерард Рош

@BullfrogBlues: Вибачте, це було від старого рубіка на основі Ruby.
Lèse majesté

Примітка: "менше перегляду було перейменовано на fs-change. Використовуйте це замість: npm install -g fs-change".
Ендрю Лотт

6

Існує ряд варіантів компіляції МЕНШЕ в CSS на сервері, і той, який ви обрали, ймовірно, залежатиме від того, що ви використовуєте для решти сайту.

  • Якщо ви використовуєте node.js, оригінальний lesscss зробить роботу.
  • Якщо ви використовуєте PHP, менше php . Він має трохи сміття API, коли справа доходить до передачі змінних з PHP, але це робить роботу.
  • Якщо ви використовуєте Ruby, SASS не менший, але настільки схожий, що коли я перейшов з використання SASS (персонального проекту) на LESS (проект PHP на роботі), я не помітив жодних відмінностей, крім розширення файлу. У ньому також є корисна бібліотека міксинів - КОМПАС . Я не намагався їх використовувати з МЕНШЕ, але сподіваюся, що вони спрацюють. (Мабуть, МЕНШЕ спочатку був Рубі, тож, мабуть, десь теж плавав старий компілятор).
  • Якщо ви використовуєте ASP.Net, немає .less . Я не користувався цим, тому не знаю, наскільки добре він працює.
  • Якщо ви використовуєте Java, lesscss4j завершує компіляцію з оригінальним вбудованим сценарієм середовища Rhino LESS та Java 6.
  • Якщо ви використовуєте Perl, у CPAN є модуль LESSp .

2
Там є рубін компілятор , який поставляється зі старим МЕНШЕ Рубін дорогоцінний камінь , але він не оновлюється більше так багато нових функцій не буде працювати на ньому. Таким чином, якщо ви використовуєте Ruby, я б рекомендував просто використовувати lesscдвійковий компілятор, який базується на останній версії less.js.
Lèse majesté

@ Lèsemajesté, я б просто пішов із SASS, але мені не хотілося, щоб мене звинувачували у свідомому ігноруванні можливості складання МЕНШЕ в Рубі.
Пітер Тейлор

1
Так, я думаю, що SASS був би найкращим варіантом для Рубі, оскільки менший дорогоцінний камінь був устареним з часу переходу на JS.
Lèse majesté
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.