请移步到我的Blog,获得更好的阅读体验!本文的链接请点这里
browserlist是什么?
browserlist用于在不同前端工具之间共用目标浏览器和node版本的配置工具。
简单来说,就是用来控制浏览器版本的一个插件。
例如:
-
搭配babel转义代码,将老浏览器不支持的新API转义为可运行代码(polyfill)
-
搭配Autoprefixer编译CSS代码,自动添加浏览器前缀
怎么用?
browserlist可以用在下面工具中:
只要将下面的json内容添加到package.json中,以上所有工具都会自动找到(适配)目标浏览器:
"browserslist": [
"last 1 version",
"> 1%",
"maintained node versions",
"not dead"
]
或者在项目根目录的.browserslistrc
配置文件中添加下面的配置:
# Browsers that we support
last 1 version
> 1%
maintained node versions
not dead
开发者通过设置浏览器版本查询范围,使开发者不用频繁手动更新浏览器版本。browserslist 使用 Can I Use 网站的数据来查询浏览器版本范围。
browserslist 提供在线的查询条件练习网站,下面会用到,点击 这里 前往。
可以点这里来学习每种工具如何使用browserlist。
怎么查询?
browserlist会使用下列配置方式来进行查询浏览器和nodejs版本:
-
在package.json中加入
browserslist
配置项。 -
使用项目根目录或父目录下的
.browserslistrc
配置文件。 -
使用项目根目录或父目录下的
.browserslist
配置文件。 -
BROWERSLIST
环境变量。 -
如果没有以上4种配置方式,browserlist会使用默认的配置:
> 0.5%, last 2 versions, Firefox ESR, not dead
。
查询条件
查询关键字有or/,
,and
,not
,比如有条件> 0.5%
和last 2 versions
。
则:
-
> 0.5% or last 2 versions
:取并集。 -
> 0.5% , last 2 versions
:取并集。 -
> 0.5% and last 2 versions
:取交集。 -
> 0.5% not last 2 versions
:取> 0.5%
的差集。
注:
or
/,
都是取并集。
查询条件列表
-
> 5%
: 基于全球使用率统计而选择的浏览器版本范围。>=
,<
,<=
同样适用。 -
> 5% in US
: 同上,只是使用地区变为美国。支持两个字母的国家码来指定地区。 -
> 5% in alt-AS
: 同上,只是使用地区变为亚洲所有国家。这里列举了所有的地区码。 -
> 5% in my stats
: 使用定制的浏览器统计数据。 -
cover 99.5%
: 使用率总和为99.5%的浏览器版本,前提是浏览器提供了使用覆盖率。 -
cover 99.5% in US
: 同上,只是限制了地域,支持两个字母的国家码。 -
cover 99.5% in my stats
:使用定制的浏览器统计数据。 -
maintained node versions
:所有还被 node 基金会维护的 node 版本。 -
node 10
andnode 10.4
: 最新的 node 10.x.x 或者10.4.x 版本。 -
current node
:当前被 browserslist 使用的 node 版本。 -
extends browserslist-config-mycompany
:来自browserslist-config-mycompany包的查询设置 -
ie 6-8
: 选择一个浏览器的版本范围。 -
Firefox > 20
: 版本高于20的所有火狐浏览器版本。>=
,<
,<=
同样适用。 -
ios 7
:ios 7自带的浏览器。 -
Firefox ESR
:最新的火狐 ESR(长期支持版) 版本的浏览器。 -
unreleased versions
orunreleased Chrome versions
: alpha 和 beta 版本。 -
last 2 major versions
orlast 2 ios major versions
:最近的两个发行版,包括所有的次版本号和补丁版本号变更的浏览器版本。 -
since 2015
orlast 2 years
:自某个时间以来更新的版本(也可以写的更具体since 2015-03
或者since 2015-03-10
) -
dead
:通过last 2 versions
筛选的浏览器版本中,全球使用率低于0.5%并且官方声明不在维护或者事实上已经两年没有再更新的版本。目前符合条件的有IE10
,IE_Mob 10
,BlackBerry 10
,BlackBerry 7
,OperaMobile 12.1
。 -
last 2 versions
:每个浏览器最近的两个版本。 -
last 2 Chrome versions
:chrome 浏览器最近的两个版本。 -
defaults
:默认配置> 0.5%, last 2 versions, Firefox ESR, not dead
。 -
not ie <= 8
: 浏览器范围的取反。
注:你还可以添加
not
在任和查询条件前面,表示取反。
浏览器列表
-
Android
for Android WebView. -
Baidu
for Baidu Browser. -
BlackBerry
orbb
for Blackberry browser. -
Chrome
for Google Chrome. -
ChromeAndroid
orand_chr
for Chrome for Android -
Edge
for Microsoft Edge. -
Electron
for Electron framework. It will be converted to Chrome version. -
Explorer
orie
for Internet Explorer. -
ExplorerMobile
orie_mob
for Internet Explorer Mobile. -
Firefox
orff
for Mozilla Firefox. -
FirefoxAndroid
orand_ff
for Firefox for Android. -
iOS
orios_saf
for iOS Safari. -
Node
for Node.js. -
Opera
for Opera. -
OperaMini
orop_mini
for Opera Mini. -
OperaMobile
orop_mob
for Opera Mobile. -
QQAndroid
orand_qq
for QQ Browser for Android. -
Safari
for desktop Safari. -
Samsung
for Samsung Internet. -
UCAndroid
orand_uc
for UC Browser for Android. -
kaios
for KaiOS Browser.
网友评论