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

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

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

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

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


person thv    schedule 23.02.2012    source источник
comment
Я использовал файл без просмотра в прошлом. Я думаю, что это узел 0.4, поэтому код необходимо обновить.   -  person Raynos    schedule 24.02.2012


Ответы (7)


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

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

person Lebovski    schedule 24.02.2012
comment
Спасибо, это именно то, что я искал. - person thv; 24.02.2012
comment
кажется, что это не удается, если вы используете правила @import - person Manticore; 23.10.2013

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

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

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

person The Nobility    schedule 24.11.2012
comment
просто загрузите приложение LESS... что является приложением LESS? где ссылка? - person vsync; 16.09.2015
comment
Я согласен в принципе, но у него не должно быть голосов, пока такое приложение не будет предложено. Я искал один попал на этот вопрос! - person gwg; 29.03.2016

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

узел less-watch-compiler.js FOLDER_TO_WATCH FOLDER_TO_OUTPUT

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

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

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

person jonycheung    schedule 20.09.2012

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

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

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

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

А пока код можно найти здесь:

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

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

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

person mikestreety    schedule 18.10.2013
comment
Хм... нужно посмотреть, что вы там написали ;) Я действительно сделал что-то подобное для одного файла с параметрами gist.github.com/pixelass/7964010 - person ; 15.12.2013
comment
Извините, это вам нужно посмотреть или мне нужно взглянуть на то, что я написал? Ваш сценарий выглядит просто фантастически! Жалко, что мы перешли на Sass ;) - person mikestreety; 02.01.2014
comment
Это было то, что я должен посмотреть на то, что вы написали;) Я сделал свой репозиторий на github: github.com /pixelass/lessc-bash - person ; 05.01.2014
comment
@mikestreety - инструкции по установке для inotifytools не включают Windows. он говорит что-то о компиляции, и я даже не знаю, как это сделать. сдался, не хочу компилировать странный код из интернета. - person vsync; 16.09.2015

Может быть, не прямой ответ. Но вот мой комментарий:

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

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

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

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

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

person Alireza Fattahi    schedule 15.01.2014

Вы можете использовать less-watch-compiler для поиска .less файлов. Вам не нужен основной файл для просмотра, как ворчание. Просто установите этот плагин:

npm install -g less-watch-compiler

or

yarn global add less-watch-compiler

Применение:

less-watch-compiler [options] <source_dir> <destination_dir>

Базовый пример

 root 
 └──src
 │    └── main.less
 │    └── aux.less
 └──dist
      └── main.css

Проект можно скомпилировать с помощью следующей команды:

less-watch-compiler src dist main.less

Базовый пример 2

меньше-смотреть-compiler.config.json

{
    "watchFolder": "src",
    "outputFolder": "dist",
    "mainFile": "main.less"
}

Проект можно скомпилировать с помощью следующей команды:

less-watch-compiler

Источник.

person Ilyas karim    schedule 23.06.2018