前言
在 webpack
中,我们可以通过配置 babel
、postcss
等工具来将 js、css 的高级语法兼容低版本浏览器。但为了让这些工具知道该将代码最低兼容到什么程度,我们需要来指定一个范围:应该兼容哪些平台。
在项目根目录下常能见到一个 .browserslistrc
文件,这个文件就用来实现这种功能。且当我们安装 webpack
时,也会同时安装一个 browserslist
包。
环境准备
1 | # 查看默认支持的浏览器 |
注:安装 webpack
时将会自动安装 browserslist
,无需手动安装。
配置说明
browserslistrc 有多个配置项,可以参考 browserslist 查看。这里仅列举常用配置。
- > 1%:占有率大于 1% 的浏览器。可以通过 Browser usage table 查看各版本浏览器占有率。
- dead:死掉的平台(24 个月没有更新的浏览器),使用
not
进行取反。 - last 2 versions:最新的两个版本
- default:> 占有率大于 0.5%、采用最新的两个版本、firefox、没有死掉
配置方式
browserslist
有两种配置方式,配置文件 .browserslistrc
与 pockage.json
中配置。
其中 .browserslistrc
的优先级高于 package.json
。
.browserslistrc
配置文件 browserslistrc
被放在根目录下,内容示例如下
1 | > 1% |
package.json
在 package.json
添加一个新属性 browserslist
,内容如下
1 | { |
使用方式
配置好 browserslist
后,使用 webpack
进行打包时将自动按照指定范围内的浏览器进行兼容。此时可用如下指令来查看修改配置后的兼容浏览器列表。
1 | npx browserslist |
此时 browserslist
配置为
1 | >1% |
输出结果如下
1 | and_chr 106 |
可用该指令来确认对 browserslist
的配置是否生效。