为什么需要:

根据提供的目标浏览器的环境来,智能添加css前缀,js的polyfill垫片,来兼容旧版本浏览器,而不是一股脑的添加。避免不必要的兼容代码,以提高代码的编译质量。

共享使用browserslist的组件们:

组件名

功能

Autoprefixer

postcss添加css前缀组件

bable-preset-env

编译预设环境 智能添加polyfill垫片代码

eslint-plugin-compat

 

stylelint-no-unsupported-browser-features

 

postcss-normalize

 

等等...


基础语法: 只要​​package.json​​配置了​​browserslist​​对象,需要的组件将自动匹配到并使用,也可以配置到具体的组件参数上


 



"> 1%"                            // 全球超过1%的人使用的浏览器,由全球使用统计数据选择的浏览器版本。>=, <和<=也可以运行。
"> 1% in US" // 使用美国使用统计。它接受两个字母的国家代码。代码的列表可以在node_modules/caniuse-lite/data/regions中找到。
"> 1% in alt-AS" // 使用亚洲地区的使用统计。所有区域代码的列表可以在node_modules/caniuse-lite/data/regions中找到。
"> 1% in my stats" // 使用自定义数据。
"cover 99.5%" // 提供覆盖率的大多数流行浏览器。
"cover 99.5% in US" // 同上,两个字母的国家代码。
"cover 99.5% in my stats" // 使用自定义数据。
"maintained node versions" // 所有Node.js版本,仍然由node .js Foundation维护。
"node 10" 和 "node 10.4" // 选择最新的node .js 10.x。x或10.4。x版本。
"current node" // Browserslist现在使用的node .js版本。
"extends browserslist-config-mycompany" // 从browserslist-config-mycompany npm包中获取查询。
"ie 6-8" // 选择一个包含所有版本的范围。
"Firefox > 20" // 大于20更新的Firefox版本。>=, <和<=也可以运行。它也适用于Node.js。
"iOS 7" // 直接使用iOS浏览器版本7。
"Firefox ESR" // 最新的[Firefox ESR]版本。
"unreleased versions 或 unreleased Chrome versions" // alpha和beta 测试版本。
"last 2 major versions 或 last 2 ios major versions" // 所有次要/补丁版本的最后两个主要版本。
"since 2015"或"last 2 years" // 2015年(也可以 2015-03和2015-03-10)以来发布的所有版本。
"dead" // 来自上两个版本查询的浏览器,但在全球使用统计中占不到0.5%,并且24个月没有官方支持或更新。现在是IE 10、IE_Mob 10、BlackBerry 10、BlackBerry 7和OperaMobile 12.1。
"last 2 versions" // 每个浏览器的最后两个版本。
"last 2 Chrome versions" // 最后2个Chrome浏览器版本。
"defaults" // Browserslist默认浏览器(> 0.5%,last 2 versions,Firefox ESR,not dead)。
"not ie <= 8" // 排除以前查询选择的浏览器。
您可以向任何查询添加 “not”。

组合查询:

"or" 组合器可以使用关键字 "or“ 就像 ”,“。"last 1 version or > 1%"相当于”last 1 version, > 1%“

”and“ 还支持组合查询来执行前一个查询的交集:”last 1 version and > 1%“。

有3种不同的方法来组合查询,如下所示。首先,您从一个查询开始,然后我们将这些查询组合起来以得到最终的列表。

显然,您不能从 ”not“ 组合器开始,因为没有用于组合它的左侧查询。

or/ , > 5% or last 2 versions
> 5%, last 2 versions
and > 5% and last 2 versions
not > 5% and not last 2 versions
> 5% or not last 2 versions
> 5%, not last 2 versions


  筛选后查询,验证:​​npx browserslist​​ 打印出所有浏览器版本支出情况​