首页 > 解决方案 > lessc 选项 --source-map-rootpath 似乎不起作用

问题描述

我使用lessc2.7.3。我通过makefile生成css文件并使用以下路径

我的问题是 css 文件错过了themes/bodensee路径,因此它会引发一个在 css.map 文件中找不到的文件。

lessc -s less/wlb.less --clean-css="--s0 --advanced" --source-map-rootpath=themes/bodensee/ --source-map="css/wlb.css.map" css/wlb.css

CSS 文件现在包含 `sourceMappingURL=css/wlb.css.map` 根路径没有任何作用。

我还尝试了一个幻想根路径并在文件中搜索它 - 它没有出现在任何地方。但选项是正确的。当我尝试拼错该选项时,LESS 会抛出一个错误。

我错过了什么?

来自此处--source-map-rootpath的选项说明

指定一个根路径,该根路径应该添加到源映射中的每个较少文件路径以及输出 css 中指定的映射文件的路径。

因为basepath默认是inputless文件的目录,rootpath默认是sourcemap输出文件到inputless文件的base目录的路径。

例如,如果您在 Web 服务器的根目录中生成了一个 css 文件,但将源文件 less/css/map 文件放在不同的文件夹中,请使用此选项。所以对于上面的选项,你可能有

标签: lesssource-maps

解决方案


这个问题确实与 Clean-CSS 插件有关。

我现在打电话给 lessc --source-map --clean-css="--s0 --advanced" -s less/wlb.less css/wlb.css哪个正在工作。

有一个独立的 clean-css程序,但它不会为 Less 文件生成源代码。不清楚 lessc 插件和独立工具是相同还是不同的实现,但都使用node.

独立cleancss工具会删除lessc默认生成的源地图 URL(没有使用几十个选项)。

这些 Node 工具开发速度非常快,并且手册/教程通常已经过时。这就是我的make文件停止工作的原因。该工具的开发人员应该真正考虑不要触及工作参数或功能,并保持他们的代码兼容。


推荐阅读