caniuse-lite browserslist 源码解析

caniuse-lite

data 目录下的文件

  • agents
//agents 页面数据
{
	A: { A: {}, B: {}, C: [], D: {}, E: 'IE', F: {} }
}
//解析后数据形式
{
	ie:{
		usage_global: {}, 
		prefix : {}, 
		versions : [], 
		prefix_exceptions : {}, 
		browser : 'IE', 
		release_date : {} 
	}
}

-features - loading-lazy-attr

{
	A: {
		A: { "2": "J D E F A B 2B" },
    	B: { "1": "P Q R S T U V W X Y Z a d e f g h i j k l m n o b H", "2": "C K L G M N O" }
	},
	B: 1,
	C: "Lazy loading via attribute for images & iframes"
}
//解析后的数据形式
{
	stats: {
		ie: { 5.5: "n" },
		edge: { 12: "n", 79: "y" }
	},
	status: "ls",
	title: "Lazy loading via attribute for images & iframes"
}

const browsers = browserslist();

browserslist 中根据 caniuse-lite 的 agents 数据,根据 browserslist.default 的浏览器配置信息,对 agents 的浏览器做一个筛选

browserslist可以理解为一种浏览器兼容性配置工具,用于告诉工具应该支持哪些浏览器版本。而caniuse-lite是一个存储了各种浏览器及其版本之间兼容性数据的轻量级数据库。 通过使用browserslist,我们可以在项目中指定我们所希望的浏览器兼容性水平。我们可以将浏览器名称和版本号以适当的格式添加到配置文件中,例如package.json或.browserslistrc文件。browserslist使用这些配置信息来检查项目的用途并相应地编译代码,以确保最终生成的代码在特定浏览器中能够正常工作。 而caniuse-litebrowserslist提供了基础数据。caniuse-lite是一个基于caniuse.com网站上的数据进行压缩和优化的轻量级版本。它存储了关于各种CSS、HTML、JS特性在不同浏览器及其版本中的兼容性信息。当我们使用browserslist时,它会使用caniuse-lite数据来确定我们所指定的浏览器版本是否支持某些特定的功能,从而帮助我们生成相应的代码。 使用browserslist和caniuse-lite可以大大简化我们在开发过程中处理浏览器兼容性的任务。我们只需要指定一次我们的要求,然后工具就会帮助我们自动处理兼容性问题,减少我们在修改代码以适应不同浏览器时的工作量和出错的可能性。同时,caniuse-lite会定期更新兼容性数据,保证我们拥有最新的浏览器兼容性信息。这样,我们可以更加专注于业务逻辑的开发,而不必过多关注浏览器兼容性问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值