mobile wallpaper 1
mobile wallpaper 2
mobile wallpaper 3
mobile wallpaper 4
431 字
1 分钟
browserslist及其使用
2022-10-13

前言#

webpack 中,我们可以通过配置 babelpostcss 等工具来将 js、css 的高级语法兼容低版本浏览器。但为了让这些工具知道该将代码最低兼容到什么程度,我们需要来指定一个范围:应该兼容哪些平台

在项目根目录下常能见到一个 .browserslistrc 文件,这个文件就用来实现这种功能。且当我们安装 webpack 时,也会同时安装一个 browserslist 包。

环境准备#

# 查看默认支持的浏览器
npm i browserslist -D

注:安装 webpack 时将会自动安装 browserslist,无需手动安装。

配置说明#

browserslistrc 有多个配置项,可以参考 browserslist 查看。这里仅列举常用配置。

  • > 1%:占有率大于 1% 的浏览器。可以通过 Browser usage table 查看各版本浏览器占有率。
  • dead:死掉的平台(24 个月没有更新的浏览器),使用 not 进行取反。
  • last 2 versions:最新的两个版本
  • default:> 占有率大于 0.5%、采用最新的两个版本、firefox、没有死掉

配置方式#

browserslist 有两种配置方式,配置文件 .browserslistrcpockage.json 中配置。

其中 .browserslistrc 的优先级高于 package.json

.browserslistrc#

配置文件 browserslistrc 被放在根目录下,内容示例如下

> 1%
last 2 versions
no dead

package.json#

package.json 添加一个新属性 browserslist,内容如下

{
"browserslist": [
">1%",
"last 2 versions",
"not dead"
]
}

使用方式#

配置好 browserslist 后,使用 webpack 进行打包时将自动按照指定范围内的浏览器进行兼容。此时可用如下指令来查看修改配置后的兼容浏览器列表。

npx browserslist

此时 browserslist 配置为

>1%
last 2 versions
not dead

输出结果如下

and_chr 106
and_ff 105
and_qq 13.1
and_uc 13.4
android 106
chrome 106
chrome 105
chrome 104
edge 106
edge 105
firefox 105
firefox 104
ios_saf 16.0
ios_saf 15.6
ios_saf 15.5
kaios 2.5
op_mini all
op_mob 64
opera 91
opera 90
safari 16.0
safari 15.6
samsung 18.0
samsung 17.0

可用该指令来确认对 browserslist 的配置是否生效。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

browserslist及其使用
https://marrydream.top/posts/实用工具/browserslist及其使用/
作者
茉铃
发布于
2022-10-13
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录