Как использовать less.js с node.js для просмотра бесплатных файлов в папке?

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

К сожалению, инструкции Использование на стороне сервера на lesscss.org мало помогают кому-то, кто не знаком с node.js.

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

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

Ответы

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

node less-watch-compiler.js FOLDER_TO_WATCH FOLDER_TO_OUTPUT

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

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

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

Ответ 4

Вы можете использовать супервизор с аргументом -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;

Взято из node -startup script: https://github.com/chovy/node-startup

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

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

Ответ 5

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

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

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

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

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

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

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

Ответ 6

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

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

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

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

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

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