美文网首页浏端兼容
browserslist使用手册

browserslist使用手册

作者: 一点金光 | 来源:发表于2019-07-27 22:55 被阅读0次
---
title: browserslist使用手册
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 网页开发
- 样式兼容
tags:
- nodejs
---

网页样式浏览器兼容解决;查找目标浏端——解决哪些浏览器版本,node版本是我们想兼容的。

for css

# 默认的browserslist@ 配置
//.browserslistrc
iOS >= 7
Android > 4.1
Firefox > 20
last 2 versions

> 0.5%, last 2 versions, Firefox ESR, not dead

//or use in package.json
{
  "browserslist": [
    "iOS >= 7",
    "Android > 4.1",
    "Firefox > 20",
    "last 2 versions"
  ]
}

工具

# npx browserslist

配置文件

目录:
名字:


配置查找

Browserslist will use browsers query from one of this sources

1.Tool options. For example browsers option in Autoprefixer.
2.BROWSERSLIST environment variable.
3.browserslist config file in current or parent directories.
4..browserslistrc config file in current or parent directories.
5.browserslist key in package.json file in current or parent directories. 6.We recommend this way.
6.If the above methods did not produce a valid result Browserslist will use defaults: > 0.5%, last 2 versions, Firefox ESR, not dead.

最佳实践

# 单某浏端
#2 单单谷歌:"browserslist": [ "last 2 Chrome versions"]
# 默认配置
"browserslist": [ "defaults"]

# 最新版本
#2 "browserslist": [ "last 1 version, not dead > 0.2%"] 

# 某个区域
#2 全球
 "browserslist": [ "> 1% "] 
#2 亚洲
 "browserslist": [ "> 1% in alt-AS"] 
#2 中国
"browserslist": [ "> 1% inCN"] 
#2 美国
 "browserslist": [ "> 1% in US"] 
#2 自定数据
 "browserslist": [ "> 1% in my stats"] 

查询组合

# 大小判断:>=, < , <=

# 表示或者:or,,
#2 "browserslist": [ "last 1 version, > 0.2%"]
#2 "browserslist": [ "last 1 version or  > 0.2%"]

# 表示并且:and
#2 "browserslist": [ "last 1 version and > 0.2%"]

# 表示否定:not
"browserslist": [ "last 1 version and not > 0.2%"]

版本兼容

#版本范围

#区域选择
#2亚洲:> 5% in alt-AS

#2自定数据
> 5% in my stats


查看配置

npx browserslist

浏览器表

//注:浏览器名大写小写敏感

//安卓
`Android` for Android WebView.

//苹果
`iOS` or `ios_saf` for iOS Safari.
`Safari` for desktop Safari.

//百度
`Baidu` for Baidu Browser.

//黑梅
`BlackBerry` or bb for Blackberry browser.

//谷歌
`Chrome` for Google Chrome.
`ChromeAndroid` or `and_chr` for Chrome for Android

//微软
`Edge` for Microsoft Edge.
Electron for Electron framework. It will be converted to Chrome version.

//IE
`Explorer` or `ie` for Internet Explorer.
`ExplorerMobile` or `ie_mob` for Internet Explorer Mobile.

//火狐
`Firefox` or `ff` for Mozilla Firefox.
FirefoxAndroid or and_ff for Firefox for Android.

//Opera
`Opera` for Opera.
`OperaMini` or `op_mini` for Opera Mini.
`OperaMobile` or `op_mob` for Opera Mobile.

//QQ
`QQAndroid` or `and_qq` for QQ Browser for Android.

//三星
`Samsung` for Samsung Internet.

//UC
`UCAndroid` or `and_uc` for UC Browser for Android.

参考:https://github.com/browserslist/browserslist#Browsers

共享配置

//steps-01:
//package.json
  "browserslist": [
    "extends browserslist-config-mycompany/desktop",
    "extends browserslist-config-mycompany/mobile"
  ]

//steps-02:
//browserslist-config-mycompany/index.js
module.exports = [
  '> 1%',
  'ie 10'
]

不同环境

[production]
> 1%
ie 10
 
[modern]
last 1 chrome version
last 1 firefox version
 
[ssr]
node 12

自定数据

//step-01:生成文件
//方式1:命令
npx browserslist-ga

//方式2:手写
{
  "ie": {
    "6": 0.01,
    "7": 0.4,
    "8": 1.5
  },
  "chrome": {
    …
  },
  …
}

脚本接口

var browserslist = require('browserslist');

var process = function (source, opts) {
    var browsers = browserslist(opts.browsers, {
        //自定数据
        stats: opts.stats,
        //配置文件
        path:  opts.file,
        //config:opts.config,
       //环境标识
        env:   opts.env,
       //安全检查
       dangerousExtend:opts.dangerousExtend,

    });
    // Your code to add features for selected browsers
}

转换

//node
browserslist.coverage(browserslist('> 1% in US'), 'US')
//=> 83.1

//cli
$ browserslist --coverage=US "> 1% in US"
These browsers account for 83.1% of all users in the US

缓存

//清除
browserslist.clearCaches();

参考文献

browserslist-offical-readme.md
Country-code-defined-in-ISO-3166-1

相关文章

  • browserslist使用手册

    网页样式浏览器兼容解决;查找目标浏端——解决哪些浏览器版本,node版本是我们想兼容的。 for css 工具 配...

  • 解决npm WARN deprecated browsersli

    npm WARN deprecated browserslist@2.11.3: Browserslist 2 c...

  • browserslist

    本博文是翻译:https://github.com/browserslist/browserslist的内容。 V...

  • babel/polyfill

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

  • Antd vue ie11兼容问题

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

  • Browserslist

    Browserslist用于不同前端工具之间共享目标浏览器的配置。用于以下插件: developers Autop...

  • autoprefixer

    Replace Autoprefixer browsers option to Browserslist conf...

  • 包的管理-软件列表

    gem使用手册npm使用手册yarn使用手册pip-使用手册maven-使用手册composer-使用手册 cho...

  • 说下browserslist

    browserslist 是一个开源项目见到有些package.json里会有如下的配置参数 应该不难猜出来,这...

  • browserslist详解

    https://www.jianshu.com/p/d45a31c50711

网友评论

    本文标题:browserslist使用手册

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