说下browserslist

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"
      },
    }]
  ]
}
20170928175559.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,477评论 19 139
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,545评论 7 35
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 10,688评论 4 31
  • 27日早上醒来。 看到老师发的一条动态。 晨曦初微,此刻的长水机场已是人头攒。 都是为了理想与生活八方奔波的人。 ...
    spir阅读 4,822评论 0 0
  • 笔记本用了三年多,当初市面上再不错的机子,也抵不住更新换代的浪潮,它老了,机器零件还在动,但风扇呼呼的声音告诉你,...
    aed4dc8369ae阅读 1,729评论 0 0