一、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"规则

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐