browserslist定义了一套浏览器兼容的配置标准,让很多前端开发工具共享一套配置。支持的前端开发工具列表:AutoprefixerBabelpostcss-preset-enveslint-plugin-compatstylelint-no-unsupported-browser-featurespostcss-normalizeobsolete-webpack-pluginbrowserslist相关工具browserslit-ga和browserslist-ga-export:该工具可以生成访问您运营的网站的浏览器版本分布数据可以作为mystats中0.5%这样的查询条件,前提是您运营的网站部署了GoogleAnalytics。browserslist-useragent-regexp:将browserslist查询编译为正则表达式以测试浏览器用户代理。可用于显示“您的浏览器尚不支持”等信息。browserslist-useragent-ruby:功能同上,是一个Ruby库。caniuse-api:请求caniuse数据以检查浏览器兼容性。npxbrowserslist:在前端项目目录运行该命令,输出当前项目的目标浏览器列表。其他工具介绍请参考官方文档browserslist配置文件和querysequence工具自身的配置,比如Autoprefixer工具配置中的browsers属性。目录的.browserslistrc配置文件当前目录或父目录的browserslist配置文件BROWSERSLIST环境变量如果以上配置都不能提供有效配置,browserslist将使用默认配置:>0.5%,last2versions,FirefoxESR,notdead//package.json//Defaultconfiguration:>0.5%,last2versions,FirefoxESR,notdead"browserslist":["defaults"]配置区分环境browserslist,可以通过配置来选择使用BROWSERSLIST_ENV或者NODE_ENV,如果这两个环境变量没有指定的话,首先查看是否有生产环境配置。如果没有生产环境,直接使用defaults配置。例如在package.json中:"browserslist":{"production":[">1%","ie10"],"modern":["last1chromeversion","last1firefoxversion"],"ssr":["node12"]}.browserslistrc:[production]>1%ie10[modern]last1chromeversionlast1firefoxversion[ssr]node12具体参数browserslist的配置内容可以理解为查询set,根据这个集合定制我们项目的兼容范围。Defaults:默认支持的浏览器(>0.5%,last2versions,FirefoxESR,notdead)统计范围相关>5%:兼容的全球浏览器使用超过总类型的5%。该值可根据实际场景自定义。同样,除了>,它还支持>=、<、<=。>5%inUS:指定国家使用覆盖率(双字母形式,如CH、JP等)>5%inalt-AS:指定大陆使用覆盖率(双字母后缀,如alt-af、alt-asetc.)>5%inmystats:自己网站的使用覆盖率需要结合browserslist-ga-exportcover99.5%:覆盖全球99.5%的浏览器类型,即支持大部分现代浏览器.在美国覆盖99.5%:同上。在我的统计数据中覆盖99.5%:和以前一样。last2versions:各浏览器支持的最新2个版本last2Chromeversions:Chrome浏览器支持的最新2个版本last2majorversions:各浏览器支持的最新2个主要分支版本Nodeversionmaintainednodeversions:CompatiblewithallsupportedNODEversionsnode10andnode10.4:Compatiblewith10.x.xor10.4.xversionscurrentnode:CompatiblewiththeNODEversioninthecurrentenvironmentBrowserversionie6-8:设置兼容的IE版本范围notie<=8:设置IEFirefox不支持的版本范围>20:设置Firefox的版本范围,也支持>=、<、<=。FirefoxESR:Firefox扩展支持板的最新版本iOS7:设置最近2年支持的iOS7浏览器版本:自2015年以来最近2年发布的浏览器版本:自2015年以来发布的浏览器版本未发布版本或未发布的Chrome版本:alpha和beta版本扩展browserslist-config-mycompany:从browserslist-config-mycompany继承配置。dead:官方一年内没有维护更新的版本。至此,IE11、IE_Mob11、BlackBerry10、BlackBerry7、Samsung4、OperaMobile12.1以及百度各版本都可以在所有查询条件前添加不否定,比如未死。并且条件可以进行集合运算,通过or或,进行并集运算,进行交集运算,不去除不包含的关系集。具体查询组合效果可以查看官方文档。笔者在一家教育公司第五波裁员中拿到了N+1,现在正准备应聘。如贵公司招聘前端相关职位,请联系作者,并注明来意。谢谢阅读。wx:qiqihaobenbenemial:chenfangxu_qixin@163.comgithub:https://github.com/qiqihaobenben
