Можно ли настроить LESS для удаления "//комментариев" при компиляции через JS?
Я хочу удалить их из выведенного меньше файла.
Можно ли настроить LESS для удаления "//комментариев" при компиляции через JS?
Я хочу удалить их из выведенного меньше файла.
Менее однострочные комментарии //
должны быть тихими, как указано в документах:
Однострочные комментарии также действительны в LESS, но они "молчат", они не отображаются в скомпилированном выводе CSS:
// Hi, I'm a silent comment, I won't show up in your CSS
.class { color: white }
Смотрите на сайте LESS: http://lesscss.org/#-comments
Флаг -x
работает в командной строке для вывода миниатюрного CSS (который будет лишать комментарии CSS), но в любом случае двойная слэш не должна появляться в css. См. http://lesscss.org/#usage в разделе "Использование командной строки".
Что касается использования JS без инструмента CLI, docs говорят:
Вы можете передать некоторые параметры компилятору:
К сожалению, эти параметры нигде не указаны. Вы должны знать, где искать код, который находится здесь: https://github.com/less/less.js/blob/0c2c1b2ba3036c62be5fc4e6232d3c0493559764/lib/less/env.js
Различные параметры (в момент написания этой статьи из связанного выше блоба):
var parseCopyProperties = [
'paths', // option - unmodified - paths to search for imports on
'optimization', // option - optimization level (for the chunker)
'files', // list of files that have been imported, used for import-once
'contents', // map - filename to contents of all the files
'contentsIgnoredChars', // map - filename to lines at the begining of each file to ignore
'relativeUrls', // option - whether to adjust URL to be relative
'rootpath', // option - rootpath to append to URL's
'strictImports', // option -
'insecure', // option - whether to allow imports from insecure ssl hosts
'dumpLineNumbers', // option - whether to dump line numbers
'compress', // option - whether to compress
'processImports', // option - whether to process imports. if false then imports will not be imported
'syncImport', // option - whether to import synchronously
'javascriptEnabled',// option - whether JavaScript is enabled. if undefined, defaults to true
'mime', // browser only - mime type for sheet import
'useFileCache', // browser only - whether to use the per file session cache
'currentFileInfo' // information about the current file - for error reporting and importing and making urls relative etc.
];
и
var evalCopyProperties = [
'silent', // whether to swallow errors and warnings
'verbose', // whether to log more activity
'compress', // whether to compress
'yuicompress', // whether to compress with the outside tool yui compressor
'ieCompat', // whether to enforce IE compatibility (IE8 data-uri)
'strictMath', // whether math has to be within parenthesis
'strictUnits', // whether units need to evaluate correctly
'cleancss', // whether to compress with clean-css
'sourceMap', // whether to output a source map
'importMultiple', // whether we are currently importing multiple copies
'urlArgs' // whether to add args into url tokens
];
Они также немного документированы различными плагинами Grunt и Gulp, которые используют LESS через JS.
Итак, чтобы ответить на ваш вопрос, вы не можете отличать комментарии /**/
без использования compress
. Что делает и другие вещи.
Обновление 2015-июля: при попытке опции -x
, как и другие ответы, я получил это предупреждение:
Опция compress устарела. Мы рекомендуем использовать выделенный css minifier, например, см. Less-plugin-clean-css.
Вы можете установить плагин с помощью
npm install -g less-plugin-clean-css
Затем запустите lessc
с аргументом --clean-css
.
Добавление параметра -x
в команду компиляции lessc
приведет к уменьшению CSS, который должен лишать комментарии. В случае, если вы не можете получить больше контроля над параметрами мини-политики, используя YUI CSS-компрессор, добавив параметр --yui-compress
к вашему компилировать команду, которая определенно выделяет комментарии.
Как сказал Рафаэль в своем ответе //
комментарии стиля не должны присутствовать в скомпилированном CSS, так что ваш вопрос не имеет большого смысла в первую очередь.
Вся эта информация четко указана на странице LESS домашняя страница/документация, поэтому, возможно, вам стоит просто прочитать это в первую очередь.