Как я могу скомпилировать LESS файл для вывода файла исходной карты (.css.map
) в дополнение к файлу CSS? Есть ли способ сделать это как в командной строке (NodeJS lessc
), так и в любых программах на основе графического интерфейса?
Скомпилировать файлы LESS с исходными картами
Ответ 1
Обновление: новый короткий ответ
Документы были обновлены! По мере того, как новые функции попадают в LESS, иногда документы отстают от них, поэтому, если вы ищете возможности, связанные с кровотечением, вам все же, вероятно, лучше работать lessc
(см. Более длинный ответ) и проверять, что всплывает из справки текст.
Короткий ответ
В командной строке вы найдете любое количество следующих параметров:
--source-map[=FILENAME] Outputs a v3 sourcemap to the filename (or output filename.map)
--source-map-rootpath=X adds this path onto the sourcemap filename and less file paths
--source-map-basepath=X Sets sourcemap base path, defaults to current working directory.
--source-map-less-inline puts the less files into the map instead of referencing them
--source-map-map-inline puts the map (and any less files) into the output css file
--source-map-url=URL the complete url and filename put in the less file
Как я пишу это, я не знаю каких-либо параметров GUI, которые генерируют карты (исходные карты были добавлены только к LESS за последние несколько месяцев) - извините, что у вас нет новостей. Я уверен, что они добавят поддержку, поскольку они будут обновлены в течение следующего года.
Более длинный ответ
Если вы запустите lessc из командной строки без каких-либо параметров, он предоставит вам все варианты. (По моему опыту, это более актуально, чем их документация, поэтому, по крайней мере, вы укажете в правильном направлении.) Со всеми последними включенными картами.
Самый простой комбо для использования для dev - --source-map-less-inline --source-map-map-inline
, поскольку это даст вам исходные карты, встроенные в ваш вывод css.
Если вы хотите добавить отдельный файл карты, вы можете использовать --source-map
, который из my.less
будет выводить my.css
и my.css.map
Для справки: когда я запускаю свою копию (v 1.6.1 на данный момент), я получаю
usage: lessc [option option=parameter ...] <source> [destination]
If source is set to `-' (dash or hyphen-minus), input is read from stdin.
options:
-h, --help Print help (this message) and exit.
--include-path=PATHS Set include paths. Separated by `:'. Use `;' on Windows.
-M, --depends Output a makefile import dependency list to stdout
--no-color Disable colorized output.
--no-ie-compat Disable IE compatibility checks.
--no-js Disable JavaScript in less files
-l, --lint Syntax check only (lint).
-s, --silent Suppress output of error messages.
--strict-imports Force evaluation of imports.
--insecure Allow imports from insecure https hosts.
-v, --version Print version number and exit.
-x, --compress Compress output by removing some whitespaces.
--clean-css Compress output using clean-css
--clean-option=opt:val Pass an option to clean css, using CLI arguments from
https://github.com/GoalSmashers/clean-css e.g.
--clean-option=--selectors-merge-mode:ie8
and to switch on advanced use --clean-option=--advanced
--source-map[=FILENAME] Outputs a v3 sourcemap to the filename (or output filename.map)
--source-map-rootpath=X adds this path onto the sourcemap filename and less file paths
--source-map-basepath=X Sets sourcemap base path, defaults to current working directory.
--source-map-less-inline puts the less files into the map instead of referencing them
--source-map-map-inline puts the map (and any less files) into the output css file
--source-map-url=URL the complete url and filename put in the less file
-rp, --rootpath=URL Set rootpath for url rewriting in relative imports and urls.
Works with or without the relative-urls option.
-ru, --relative-urls re-write relative urls to the base less file.
-sm=on|off Turn on or off strict math, where in strict mode, math
--strict-math=on|off requires brackets. This option may default to on and then
be removed in the future.
-su=on|off Allow mixed units, e.g. 1px+1em or 1px*1px which have units
--strict-units=on|off that cannot be represented.
--global-var='VAR=VALUE' Defines a variable that can be referenced by the file.
--modify-var='VAR=VALUE' Modifies a variable already declared in the file.
-------------------------- Deprecated ----------------
-O0, -O1, -O2 Set the parser optimization level. The lower
the number, the less nodes it will create in the
tree. This could matter for debugging, or if you
want to access the individual nodes in the tree.
--line-numbers=TYPE Outputs filename and line numbers.
TYPE can be either 'comments', which will output
the debug info within comments, 'mediaquery'
that will output the information within a fake
media query which is compatible with the SASS
format, and 'all' which will do both.
--verbose Be verbose.
Ответ 2
Если командная строка не подходит вам, Grunt отлично подходит для этого типа вещей. Вы можете настроить плагин grunt-contrib-less для создания встроенных карт с конфигурацией, подобной этой:
less: {
options: {
sourceMap:true,
outputSourceFiles: true
},
lessFiles: {
expand: true,
flatten:false,
src: ['**/*.less'],
dest: ['dist/'],
ext: '.css',
}
},