包含路径
|
|
lessc --include-path=PATH1;PATH2 |
{ paths: ['PATH1', 'PATH2'] } |
如果 @import
规则中的文件在该确切位置不存在,Less 将在传递给此选项的位置查找它。 例如,您可以使用它来指定一个库的路径,您希望在 Less 文件中简单且相对地引用该库。
根路径
|
|
lessc -rp=resources/
lessc --rootpath=resources/ |
{ rootpath: 'resources/' } |
允许您在 css 中为每个生成的导入和 url 添加路径。 这不会影响处理的 Less import 语句,只会影响输出 css 中保留的语句。
例如,如果 css 使用的所有图像都在一个名为 resources 的文件夹中,您可以使用此选项将其添加到 URL,然后可以配置该文件夹的名称。
重写 URL
|
|
lessc -ru=off
lessc --rewrite-urls=off |
{ rewriteUrls: 'off' } |
lessc -ru=all
lessc --rewrite-urls=all |
{ rewriteUrls: 'all' } |
lessc -ru=local
lessc --rewrite-urls=local |
{ rewriteUrls: 'local' } |
默认情况下,URL 保持原样 (off
),因此如果您在引用图像的子目录中导入文件,则将在 css 中输出完全相同的 URL。 此选项允许您重写导入文件中的 URL,以便 URL 始终相对于已传递给 Less 的基本文件。 例如。
@import "global/fonts.less";
@font-face {
font-family: 'MyFont';
src: url('myfont/myfont.woff2') format('woff2');
}
没有任何设置或使用 rewriteUrls: 'off'
,编译 main.less
将输出:
@font-face {
font-family: 'MyFont';
src: url('myfont/myfont.woff2') format('woff2');
}
使用 rewriteUrls: 'all'
,它将输出:
@font-face {
font-family: 'MyFont';
src: url('./global/myfont/myfont.woff2') format('woff2');
}
对于 rewriteUrls: 'local'
,它只会重写明确相关的 URL(以 .
开头的 URL):
url('./myfont/myfont.woff2') url('./global/myfont/myfont.woff2')
url('myfont/myfont.woff2') url('myfont/myfont.woff2')
如果您将 Less 与 CSS 模块 结合使用类似 Node.js 的解析语义,这将很有用。
您可能还想考虑使用 data-uri 函数而不是这个选项,它将图像嵌入到 css 中。
数学
发布 v3.7.0
|
|
lessc -m=[option]
lessc --math=[option] |
{ math: '[option]' } |
Less 重新构建了数学选项,以提供介于之前的 strictMath
设置(一直需要括号)和默认设置(在所有情况下都执行数学运算)之间的中间特性。
为了减少与现在自由地在值之间使用 /
符号的 CSS 的冲突,现在有一种数学模式只需要括号进行除法。 (现在这是 Less 4 中的默认设置。)"严格的数学" 也进行了调整以更直观地操作,尽管支持遗留行为。
math
可用的四个选项是:
always
(3.x 默认值)- 热切地减少数学
parens-division
(默认 4.0) - 使用 /
运算符不在括号外执行除法(但可以在括号外使用 ./
运算符进行 "forced" - ./
已弃用)
parens
| strict
- 所有数学表达式都需要括号。
strict-legacy
(在 4.0 中删除)- 在某些情况下,如果无法计算表达式的任何部分,则不会计算数学。
总是示例:
.math {
a: 1 + 1;
b: 2px / 2;
c: 2px ./ 2;
d: (2px / 2);
}
输出:
.math {
a: 2;
b: 1px;
c: 1px;
d: 1px;
}
parens-division
例子:
.math {
a: 1 + 1;
b: 2px / 2;
c: 2px ./ 2;
d: (2px / 2);
}
输出:
.math {
a: 2;
b: 2px / 2;
c: 1px;
d: 1px;
}
严格的
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
输出:
.math {
a: 1 + 1;
b: 2px / 2;
c: 1px + 3px;
}
严格遗产
在旧版 strictMath
模式中,括号外的混合表达式意味着不会对整个括号求值。 (可能不是你想要的。)
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
输出:
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
严格数学(已弃用)
这已被 math
选项取代。
相对 URL(已弃用)
|
|
lessc -ru
lessc --relative-urls |
{ relativeUrls: true } |
已被rewriteUrls: "all"
取代
严格单位
|
|
lessc -su=on
lessc --strict-units=on |
{ strictUnits: true } |
默认为关闭/假。
如果没有这个选项,Less 在进行数学运算时会尝试猜测输出单元。 例如
.class {
property: 1px * 2px;
}
在这种情况下,事情显然是不对的——长度乘以长度得到一个区域,但 css 不支持指定区域。 所以我们假设用户希望其中一个值是一个值,而不是长度单位,我们输出 2px
。
启用严格单位后,我们假设这是计算中的错误并抛出错误。
IE8 兼容性(已弃用)
|
|
lessc --ie-compat |
{ ieCompat: true } |
从 v3.0.0 开始默认为 False。 目前仅用于 data-uri 功能,以确保不会创建太大而浏览器无法处理的图像。
启用内联 JavaScript(已弃用)
|
|
lessc --js |
{ javascriptEnabled: true } |
从 v3.0.0 开始默认为 False。 启用 .less
文件中内联 JavaScript 的评估。 这给一些开发人员带来了安全问题,他们不希望样式表的用户输入具有可执行代码。
替换为 @plugin
选项。
全局变量
|
|
lessc --global-var="color1=red" |
{ globalVars: { color1: 'red' } } |
该选项定义了一个可以被文件引用的变量。 实际上,声明放在基本 Less 文件的顶部,这意味着它可以使用,但如果在文件中定义了这个变量,它也可以被覆盖。
修改变量
|
|
lessc --modify-var="color1=red" |
{ modifyVars: { color1: 'red' } } |
与全局变量选项相反,这会将声明放在基础文件的末尾,这意味着它将覆盖 Less 文件中定义的任何内容。
网址参数
|
|
lessc --url-args="cache726357" |
{ urlArgs: 'cache726357' } |
此选项允许您指定一个参数以继续访问每个 URL。 例如,这可以用于缓存清除。
行号(已弃用)
|
|
lessc --line-numbers=comments
lessc --line-numbers=mediaquery
lessc --line-numbers=all |
{ dumpLineNumbers: 'comments' } |
生成内联源映射。 在浏览器开始支持 sourcemaps 之前,这是唯一的选择。
预加载插件
查阅: 预加载插件
Lint
|
|
lessc --lint -l |
{ lint: true } |
运行 less 解析器并只报告错误而没有任何输出。
压缩(已弃用)
|
|
lessc --compress -x |
{ compress: true } |
使用较少的内置压缩进行压缩。 这做得不错,但没有利用专用 css 压缩的所有技巧。 一般来说,我们建议在你的 Less 转换为 CSS 后,使用第三方工具清理和压缩 CSS。
允许从不安全的 HTTPS 主机导入
|
|
lessc --insecure |
{ insecure: true } |
源映射选项
这些选项中的大多数不适用于在浏览器中使用 Less.js,因为您应该使用预编译的 Less 文件生成源映射。
生成源映射
|
|
lessc --source-map |
{ sourceMap: {} } |
告诉 less 生成一个 sourcemap。
源映射输出文件名
|
|
lessc --source-map=file.map |
{ sourceMap: { outputFilename: 'file.map' } } |
源映射根路径
|
|
lessc --source-map-rootpath=dev-files/ |
{ sourceMap: { sourceMapRootpath: 'dev-files/' } } |
指定一个根路径,该路径应添加到 sourcemap 中的每个 less 文件路径以及输出 css 中指定的映射文件的路径。
因为basepath默认是input less文件的目录,rootpath默认是sourcemap输出文件到input less文件的基目录的路径。
例如,如果您在 Web 服务器的根目录中生成了一个 css 文件,但您的源 less/css/map 文件位于不同的文件夹中,请使用此选项。 所以对于上面的选项你可能有
output.css
dev-files/output.map
dev-files/main.less
源映射基本路径
|
|
lessc --source-map-basepath=less-files/ |
{ sourceMap: { sourceMapBasepath: 'less-files/' } } |
这与 rootpath 选项相反,它指定应从输出路径中删除的路径。 例如,如果您正在 less-files 目录中编译一个文件,但源文件将在您的 Web 服务器的根目录或当前目录中可用,您可以指定它以删除路径的附加 less-files
部分。
它默认为输入较少文件的路径。
在源映射中包含 Less 源
|
|
lessc --source-map-include-source |
{ sourceMap: { outputSourceFiles: true } } |
此选项指定我们应该将所有 Less 文件包含到 sourcemap 中。 这意味着您只需要您的地图文件即可到达您的原始来源。
这可以与 map inline 选项结合使用,因此您根本不需要任何额外的外部文件。
源映射映射内联
|
|
lessc --source-map-inline |
{ sourceMap: { sourceMapFileInline: true } } |
此选项指定映射文件应内嵌在输出 CSS 中。 这不推荐用于生产,但对于开发,它允许编译器生成单个输出文件,在支持它的浏览器中,使用已编译的 css,但向您显示未编译的 less 源。
源映射 URL
|
|
lessc --source-map-url=../my-map.json |
{ sourceMap: { sourceMapURL: '../my-map.json' } } |
允许您覆盖指向地图文件的 css 中的 URL。 这是针对 rootpath 和 basepath 选项没有产生您需要的内容的情况。