美文网首页
处理css/js兼容性的工具之超重要的browserslist

处理css/js兼容性的工具之超重要的browserslist

作者: 一颗冰淇淋 | 来源:发表于2022-04-06 19:19 被阅读0次

这篇 webpack处理css资源 文章中使用到的工具 browserslist 对于兼容性处理来说非常重要!这一篇来仔细说说。

查询兼容性

不同浏览器对于 css / js 的属性可能存在兼容性,具体可以通过 can i use 这个网站查询。

比如 css 中的 user-select 属性,用于规定是否可以在浏览器上双击选取或者高亮,在 ie 6-9 中不可以使用,在 ie10-11 中需要添加 -ms- 前缀。

1_can-i-use.png

也就是说,为了多浏览器兼容性处理,css代码可能要写成这样

-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

而在项目中,可能存在兼容性的 css 或者 js 代码不止一个,而且需要兼容性的版本也无法列举完全,这时候需要通过工具来帮我们处理 ~

兼容性规则

browserslist 需要编写一些浏览器兼容条件,来告知 postcss 和 babel 分别以什么要求来对 css 和 js 代码进行兼容性编译。

常用的编写规则有这些

  • default:Browserslist 的默认配置
    ( >0.5%, last 2 versions, Firefox ESR, not dead )
  • 5%:通过全局情况统计选择的浏览器版本,可以使用 >=,< 和 <=
  • dead:24个月内没有官方支持或更新的浏览器
  • last 2 versions:每个浏览器的最后两个版本

browserslist 是一个工具,可以直接通过 npx 执行命令获取符合规则的浏览器

2_npx-browserslist.png

如果是在项目中,有两种方式可以配置

  • 配置在 package.json 中
  • 配置在 .browserslistrc 文件中
// package.json
"browserslist": [
    "> 1%",
    "last 2 version",
    "not dead"
]

// .browserslistrc
> 1%,
last 2 version,
not dead

编译过程

那 browserslist 又是去哪里查找浏览器使用占比和更新时间的呢,其实它最终使用的是caniuse-lite 这个工具来查询的,在 can i use - table 中可以查询到浏览器使用情况。

比如 chrome for Android 99版本的用户占比非常高,达到了 37.21%.

3_浏览器占比.png

以上就是 browserslist 查找符合条件的浏览器版本和使用过程, 更多有关webpack的内容可以参考我其它的博文,持续更新中~

相关文章

  • 处理css/js兼容性的工具之超重要的browserslist

    这篇 webpack处理css资源[https://www.jianshu.com/p/e88632c8293c]...

  • es6,css3兼容

    css3 兼容 browserslist 在不同的前端工具之间共享目标浏览器和Node.js版本的配置,这个值会被...

  • babel/polyfill

    浏览器兼容性 browserslist package.json 文件里的 browserslist 字段 (或一...

  • Antd vue ie11兼容问题

    安装相关依赖(core-js) main.js引入 配置browserslist 通过browserslist来指...

  • 详解如何从零开始搭建Express+Vue开发环境

    准备工作 1. 为前端选择合适的预处理工具和资源管理工具 预处理工具又分为 js 预处理工具和 css 预处理工具...

  • 文本溢出

    css单行 兼容性较好 css多行 兼容移动端和chrome js多行 可使用插件解决 Clamp.js

  • css3动画与js动画

    比较 兼容性 css3 兼容性不好,IE10才开始支持。 js 兼容性好,甚至可以兼容IE6。 性能 css3 在...

  • 关于浏览器兼容的一些解决方案

    1、使用CSS之前先查CSS的兼容性(MDN、caniuse)2、使用html5shiv.js之类的用JS插件实现...

  • 前端工具书签

    2017-6-8 更新 bigNumber :大数处理 博客类 工具类 灵感类 CSS 框架 UI 规范 JS库 ...

  • postcss

    什么是postcss postcss 一种对css编译的工具,类似babel对js的处理,常见的功能如: 1 . ...

网友评论

      本文标题:处理css/js兼容性的工具之超重要的browserslist

      本文链接:https://www.haomeiwen.com/subject/vjvfsrtx.html