解决 LESS 编译错误:超出某些 Browserslist Config 的范围

阅读时长 3 分钟读完

在前端开发中,我们经常会使用 LESS 来编写样式。然而,在编译 LESS 文件时,有时会遇到一个错误:“超出某些 Browserslist Config 的范围”。这个错误通常是由于我们在 LESS 文件中使用了一些不被支持的 CSS 属性或选择器,而这些属性或选择器又不在我们的 Browserslist 配置范围内所引起的。那么,该如何解决这个问题呢?

了解 Browserslist

Browserslist 是一个用于配置目标浏览器和平台的工具,它可以被用于许多前端工具中,如 Autoprefixer、babel-preset-env 等。在 LESS 编译中,我们也可以通过 Browserslist 来配置编译目标浏览器和平台。

Browserslist 的配置格式如下:

其中,environment 表示目标平台,如 chromefirefoxie 等;version 表示目标浏览器的版本号,如 last 2 versions> 1% 等;options 表示其他选项,如 notios_saf 等。

解决 LESS 编译错误

当我们在 LESS 文件中使用了不被支持的 CSS 属性或选择器时,编译时就会出现“超出某些 Browserslist Config 的范围”的错误。为了解决这个问题,我们可以通过以下两种方式来配置 Browserslist:

1. 添加不支持的属性或选择器到 Browserslist 配置中

首先,我们需要找到不被支持的属性或选择器所对应的浏览器版本。可以通过 Can I use 网站来查询。

然后,我们可以将不支持的属性或选择器所对应的浏览器版本添加到 Browserslist 配置中。例如,如果我们在 LESS 文件中使用了 text-size-adjust 属性,而这个属性在 Safari 中的版本低于 9.3 是不被支持的,那么我们可以将 safari < 9.3 添加到 Browserslist 配置中:

这样,当我们编译 LESS 文件时,就不会再出现“超出某些 Browserslist Config 的范围”的错误了。

2. 禁用 Browserslist 检查

如果我们不想修改 Browserslist 配置,也可以通过禁用 Browserslist 检查来解决这个问题。我们可以在编译 LESS 文件时,添加 --no-autoprefix 参数来禁用 Browserslist 检查:

这样,编译时就不会再出现“超出某些 Browserslist Config 的范围”的错误了。但是,需要注意的是,禁用 Browserslist 检查可能会导致生成的 CSS 样式不兼容某些浏览器。

总结

在前端开发中,使用 LESS 编写样式是很常见的,但有时会出现“超出某些 Browserslist Config 的范围”的错误。为了解决这个问题,我们可以通过添加不支持的属性或选择器到 Browserslist 配置中或禁用 Browserslist 检查来实现。但是,需要注意的是,修改 Browserslist 配置可能会影响到生成的 CSS 样式的兼容性。因此,在修改 Browserslist 配置时,需要仔细考虑目标浏览器和平台的兼容性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/661776cdd10417a2227575db

纠错
反馈