说下browserslist

简介: browserslist 是一个开源项目见到有些package.json里会有如下的配置参数 "browserslist": [ "> 1%", "last 2 versions", "Android >= 3.2", "Firefox >= 20", "iOS 7" ]应该不难猜出来,这代表这个项目的浏览器兼容情况。

browserslist 是一个开源项目
见到有些package.json里会有如下的配置参数

 "browserslist": [
    "> 1%",
    "last 2 versions",
    "Android >= 3.2", 
    "Firefox >= 20", 
    "iOS 7"
  ]

应该不难猜出来,这代表这个项目的浏览器兼容情况。
白话就是我这个项目兼容绝大多数的,最新的和iOS7系统下的浏览器。不兼容Android 3.2系统以下和Firefox20以下的浏览器
像这些" > 1%", "last 2 versions" 都是查询参数。
查询参数很强大,比如我想查看中国人使用浏览器的情况请输入 > 1% in CN。竟然还有IE8 >_<。对比美国> 1% in US的。
具体参数列表见官方文档

那配这个除了说明我的项目支持情况,对开发有啥作用呢?

具体的影响到前端工具的编译情况,比如 Autoprefixer 可以给css加兼容性前缀
babel-preset-env , eslint-plugin-compat, stylelint-no-unsupported-browser-features 和 postcss-normalize
比如.babelrc文件你可以针对配置

{
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["last 2 versions"],
        "node": "current"
      },
    }]
  ]
}
img_77e5d0b6c9384e6c19f00b1cea84aac0.png
20170928175559.png

更进一步根据浏览器可以获得特性,比如最新的chrome浏览器支持原生的promise,而IE不支持,babel根据browserslist配置项就会动态的转义。不用在一个个进行配置了。

相关文章
|
资源调度 前端开发 算法
前端依赖版本重写指南
感谢神奇的 Semver 动态规则,npm 社区经常会发生依赖包更新后引入破坏变更的情况(应用没有使用依赖锁的话),而应用开发者就要在自己的依赖声明里先临时绕过,避免安装到有问题的版本,如果是一级依赖,只需要改 package.json 的声明就可以了,但如果是子依赖,就需要进行版本重写(overrides/resolution)了。本文是一篇针对版本重写功能的指南性文章,当你遇到如下的问题时,就可以按照对应的依赖重写语法,解决这些依赖问题了。
6075 1
前端依赖版本重写指南
|
网络协议 Android开发 开发工具
国内常用的Android镜像下载地址(附教育网主要镜像站)
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ Android developer 最新国内镜像:http://wear.
21562 0
|
7月前
|
JSON JavaScript API
wangEditor 富文本详解(下)
wangEditor 富文本详解(下)
609 0
|
开发工具 git 缓存
Git忽略规则.gitignore不生效
在项目开发过程中个,一般都会添加 .gitignore 文件,规则很简单,但有时会发现,规则不生效。 原因是 .gitignore 只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
56611 4
|
前端开发 算法
调用setState后发生了什么?
调用setState后发生了什么?
211 0
|
6月前
|
机器学习/深度学习 搜索推荐 安全
语音识别技术是一种将语音信号转换为文本或命令的技术,
语音识别技术是一种将语音信号转换为文本或命令的技术,
使用antd-theme-webpack-plugin报错Error LessError: Cannot find module ‘antd/lib/style/themes/default.less
使用antd-theme-webpack-plugin报错Error LessError: Cannot find module ‘antd/lib/style/themes/default.less
1137 0
使用antd-theme-webpack-plugin报错Error LessError: Cannot find module ‘antd/lib/style/themes/default.less
|
开发者
微信公众平台网页授权两次重定向跳转问题
微信公众平台网页授权两次重定向跳转问题
255 0
|
移动开发 监控 前端开发
2023 年大淘宝 Web 端技术概览
2022 年,大淘宝前端团队进行了调整:重新组织生产关系,按业务线拆分整合进对应的业务技术团队,同时保留了大前端虚线组织,确保研发基建的一致性、技术的持续投入以及推进人员的成长。 整个变化涉及超过三百人的前端团队,经过了半年多的运转,整个团队在技术上也进行了对应的聚焦和收敛。 新的组织协作形态下,大淘宝 Web 领域的工程师们正在做哪些技术工作、有什么技术产品,特在 2023 年开年之际向行业前端同学进行分享。
3515 1
2023 年大淘宝 Web 端技术概览
|
前端开发 JavaScript
js map中使用async异步函数(含详细解释)
js map中使用async异步函数(含详细解释)