为什么需要:
根据提供的目标浏览器的环境来,智能添加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 打印出所有浏览器版本支出情况,

https://github.com/browserslist/browserslist

posted on 2021-10-12 15:57  ygunoil  阅读(419)  评论(0编辑  收藏  举报