2012-02-23 2 views
14

Я ищу простое руководство по настройке серверного просмотра и компиляции бездействующих файлов в папку с использованием less.js и node.js. Брайан написал об этом в this post.Как использовать less.js с node.js для просмотра бесплатных файлов в папке?

К сожалению, инструкции для Server-side usage на lesscss.org мало полезны для тех, кто новичок в node.js.

Я пробовал использовать командную строку: $ lessc styles.less > styles.css.

Я также пробовал 'watchr' и 'watch-less', и все это работает. Однако я ищу чистое решение node.js + less.js. Я уверен, что есть кто-то, кто сможет объяснить, как настроить node.js и less.js, чтобы смотреть бездействующие файлы в папке. Благодарю.

+0

В прошлом я использовал файл [watch-less] (https://github.com/Raynos/so642/blob/master/src/init/watch-less.js). Я думаю, что это узел 0.4, хотя код необходимо обновить. – Raynos

ответ

4

Я создал демонстрационный проект, чтобы показать, как он работает. Вы можете найти его здесь https://github.com/corpix/watcherDemo

После клонирования введите каталог проекта и выполните npm install, чтобы установить модуль Node.js. Попробуйте запустить index.js и изменить .less файл в less_files/ каталог, измененный файл будет скомпилирован и помещен в css_files/

+0

Он использует readSync ¬_¬ – Raynos

+0

Просто для удобства;) – corpix

+2

[Асинхронная версия] (https://github.com/corpix/watcherDemo/tree/async) – corpix

1

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

узел менее часы-compiler.js FOLDER_TO_WATCH FOLDER_TO_OUTPUT

https://github.com/jonycheung/Dead-Simple-LESS-Watch-Compiler

Он скачет смотреть файлы с именами, которые начинаются с подчеркивания или период.

Я написал это для моего процесса разработки, но он все равно должен работать на сервере. Тем не менее, вы можете повторно рассмотреть возможность постоянного просмотра папки для изменений на реальном сервере. Это дорогая операция.

1

Вы можете использовать супервизора с -e аргументом для обеспечения расширения смотреть:

nohup supervisor -e 'js|ejs|less' $APP_DIR/app.js 1>$APP_DIR/log/app.log 2>&1 & 
echo $! > $APP_DIR/pid/app.pid; 

Взятые из сценария узла запуска: https://github.com/chovy/node-startup

Упрощенная версия этой команды:

supervisor -e 'js|ejs|less' app.js 
4

Честно говоря, я видел много тем и ответов.

Если вы похожи на меня и не хотите больше раздувать код, чем у вас уже есть, просто загрузите приложение LESS для Win/Mac/Nix, и оно будет автоматически скомпилировано при каждом сохранении ваших файлов бездействия.

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

+1

«просто загрузите приложение LESS» ... что ** это ** приложение LESS? где ссылка? – vsync

+0

Я согласен в принципе, но у этого не должно быть голосов, пока не будет предложено такое приложение. Я искал, кто попал на этот вопрос! – gwg

1

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

Я разработал и обновил код от jonycheung - и отправил запрос на слияние.

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

В то же время, код можно найти здесь:

https://github.com/mikestreety/Dead-Simple-LESS-Watch-Compiler

Я также работая и разрабатывая сценарий чистого bash, который использует lessc, но не требует запуска сценария узла:

https://github.com/mikestreety/less-watch

+0

Хм .. нужно посмотреть, что вы там написали;) На самом деле я сделал что-то похожее для одного файла с опциями https://gist.github.com/pixelass/7964010 – pixelass

+0

Извините - это то, что вам нужно иметь смотреть или мне нужно взглянуть на то, что я написал? Ваш скрипт выглядит довольно фантастично! Позор, что мы переехали в Sass;) – mikestreety

+0

Это было, что я должен посмотреть на то, что вы написали;) Я сделал мой репозиторий github: https://github.com/pixelass/lessc-bash – pixelass

1

Возможно, не прямой ответ. Но вот мой комментарий:

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

Мы делаем это чистым less.js в нашем html. как указано ниже:

<link rel="stylesheet/less" href="/path/to/bootstrap.less"> 
<script src="/path/to/less.js"></script> 

После завершения задачи разработки. Вам нужно запустить lessc только один раз.

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