主题
Browserslist 基础
介绍
browserslist 是在不同的前端工具之间共用目标浏览器和 node 版本的配置工具,主要被以下工具使用:
- Autoprefixer
- Babel
- postcss-normalize
- eslint-plugin-compat
所有的工具将自动的查找当前工程规划的目标浏览器范围,前提在 package.json 中配置
json
{
"browserslist": [
"last 1 version",
"> 1%",
"maintained node versions",
"not dead"
]
}或者在工程根目录下存在 .browserslistrc 配置文件
yaml
# 注释是这样写的,以#号开头
last 1 version
> 1%
maintained node versions
not dead原理:通过正则查找 caniuse-lite 和 Can I Use 两个网站的数据
语法
根据用户份额:
> 5%: 在全球用户份额大于5%的浏览器> 5% in CN: 在中国用户份额大于5%的浏览器
根据最新浏览器版本
last 2 versions: 所有浏览器的最新两个版本last 2 Chrome versions: Chrome 浏览器的最新两个版本
不再维护的浏览器
dead: 官方不在维护已过两年,比如IE10
浏览器版本号
Chrome > 90: Chrome 大于 90 版本号的浏览器not ie <= 8: 浏览器范围的取反
默认配置
> 0.5%, last 2 versions, Firefox ESR, not dead
直接在工程目录下运行
npx browserslist来查看结果
环境的差异化配置
In package.json:
json
"browserslist": {
"production": [
"> 1%",
"ie 10"
],
"development": [
"last 1 chrome version",
"last 1 firefox version"
]
}In .browserslistrc config:
ini
[production staging]
> 1%
ie 10
[development]
last 1 chrome version
last 1 firefox version
复制代码