最短的答案:不,但如果你跑步
lessc less/style.less css/style.css --source-map
在您的观察者之前,您将能够
使用检查器查看每种样式来自哪个 LESS 文件。
不是你所希望的,但它至少可以帮助你追踪事情。
冗长的答案
在检查编译后的样式时无法看到.btn {font-weight: @btn-font-weight},必然:将LESS编译为CSS会将@btn-font-weight替换为normal。
正如@tjaart-van-der-walt 所暗示的,使用源地图可能对您有所帮助。使用源 emap,您仍然不会看到原始 LESS 变量,但您将能够直接跳转到定义样式的 LESS 文件……甚至是正确的行。你仍然需要参考你的原始文件来整理 LESS 特定的代码,但至少你会确切地知道在哪里看(例如 my-partial-less-file.less:18 而不是 my-compiled-css .css:212)。
如果你有一个 one.less
* {
background: red
}
还有一个two.less
* {
border: 1px solid green
}
编译成 main.css
* {
background: red;
}
* {
border: 1px solid green;
}
在检查器中你会看到类似的东西
以前你会在哪里看到类似的东西
(“类似”,因为这些是 Chrome 屏幕截图。)
让源映射工作有两个步骤:1. 设置一个主文件(为阅读此问题的其他人提及这一点;在您的情况下,这已经处理好了:less/style.less 是您的主文件), 2. 生成源映射,以及 3. 在检查器中启用源映射。
1. 当我们到达 B 时,如果我们可以从单个文件中生成源映射,将会省去很多麻烦。这需要使用 @imports 所有其他文件的主文件来构建 LESS 文件。例如,
/styles
└─┬─ main.less
└─ components
└─┬─ one.less
└─ two.less
main.less 看起来像
@import 'components/one';
@import 'components/two';
不完全确定您的 Bootstrap Drupal 主题副本是什么,但在我从您的链接下载的副本中,感兴趣的文件似乎是 less/style.less,因此您无需在此处执行任何操作。
2. 在将 LESS 编译为 CSS 时,有很多方法可以生成源映射(有开发应用程序可以做到这一点,grunt 和 gulp 工具,以及命令行工具)。由于您使用的是裸命令行工具Deadsimple LESS CSS Watch Compiler,所以我们坚持使用该模型。
为了运行less-watch-compiler,您已经安装了LESS。万一其他人没有阅读这篇文章,请运行
$ (sudo) npm install -g less
其中安装了编译器lessc,它支持生成源映射。运行
$ lessc less/style.less css/style.css --source-map
这表示“在less/style.less上运行less编译器,将编译后的样式表输出到css/style.css,并生成一个style.css.map源图。(完整lessc documentation is here .)
(2.5此时您可以运行less-watch-compiler less css,并按照正常工作流程进行操作)
3.
在浏览器的检查器中打开源映射。 Firebug 不支持源映射,但 Firefox 的内置检查器支持:打开检查器,右键单击任何样式,然后选择“显示原始源”。 Mozilla's documentation is here。 (Fwiw,Firebug 有望被合并到 Firefox 的开发者工具中。了解 here。)Chrome 还具有内置支持:inspector --> "..." 菜单(顶部对) --> 设置 --> "Sources: Enable CSS source maps" (对我来说,这是默认开启的),Edge (documentation here; 似乎开启了)默认)。