前端 - browserslist 的 not dead 规则是什么
你会发现有 package.json 文件里的 browserslist 字段 (或一个单独的 .browserslistrc 文件),指定了项目的目标浏览器的范围。All browser targets in the browserslist configuration have supported ES module.Therefore we don't build two separate
一、browserslist 什么
用于指定浏览器范围。你会发现有 package.json 文件里的 browserslist 字段 (或一个单独的 .browserslistrc 文件),指定了项目的目标浏览器的范围。这个值会被 @babel/preset-env 和 Autoprefixer 用来确定需要转译的 JavaScript 特性和需要添加的 CSS 浏览器前缀。
参考链接:https://cli.vuejs.org/zh/guide/browser-compatibility.html
二、not dead 规则是什么
原文:browsers without official support or updates for 24 months. Right now it is IE 11, IE_Mob 11, BlackBerry 10, BlackBerry 7, Samsung 4, OperaMobile 12.1 and all versions of Baidu.
机翻:24个月没有官方支持或更新的浏览器。目前它是IE 11,IE_Mob 11,黑莓10,黑莓7,三星4,OperaMobile 12.1和百度的所有版本。
参考链接:https://github.com/browserslist/browserslist
三、我遇到的打包问题
"browserslist": [
"> 1%",
"last 2 versions",
"not dead",
"not ie < 10"
]
1. 问题描述:
如果你的项目要兼容IE,但你的browserslist
规则是这样的,那么打包的就会有个提示:All browser targets in the browserslist configuration have supported ES module.Therefore we don't build two separate bundles for differential loading.
那么这里就不会打包兼容IE的代码。
2. 原因分析:
以上规则里已经没有IE了,那是因为 browserslist 项目在2022年6月21日提交了:Mark Internet Explorer as dead (#701)
链接,将Internet Explorer标记为已死。
3. 解决方案:
去掉"not dead"
规则
更多推荐
所有评论(0)