配置Vue项目兼容IE11详解
Vue
不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但对于 IE9+,Vue 底层是支持。
由于开发过程中,我们经常会使用一些第三方插件或组件,对于这些组件,有时我们需要做一些处理。下述主要阐述如何使用 vue-cli5 脚手架搭建的工程支持 IE11。
IE11 打开 Vue 工程(Vue CLI)构建而来出现空白页,控制台告警、报错。
如:
- DOM7011: 此页上的代码禁用了反向和正向缓存
- HTML1300:进行了导航
- app.js 各种语法错误
browserslist
在项目中 package.json
文件里新加一个 browserslist
字段 (或新建一个单独的 .browserslistrc 文件),指定了项目的目标浏览器的范围。这个值会被vue自带的@babel/preset-env 和 Autoprefixer 用来确定需要转译的 JavaScript 特性和需要添加的 CSS 浏览器前缀。
- @babel/preset-env:将你使用最新 JavaScript 语法,灵活的转化为目标浏览器所支持的 polyfill。
- Autoprefixer:PostCSS 插件,为浏览器增加前缀。
我这里使用的是自己创建的.browserslistrc
文件
last 2 versions
> 1%
not ie <= 8
-
“1%”:
- 表示全球超过1%人使用的浏览器。这是一个动态的标准,随着浏览器使用情况的变化而变化。通过使用这个查询条件,可以确保项目兼容那些使用人数较多的主流浏览器。
-
“last 2 versions”:
- 表示所有浏览器兼容到最后两个版本。这意味着无论是什么浏览器,项目都会兼容其最新的两个版本。这有助于确保项目能够利用浏览器的最新功能和性能改进,同时仍然兼容较新的旧版本。
-
“not ie < 11”:
- 表示排除IE浏览器版本小于11的所有版本。由于IE8及以下版本不支持Vue等现代前端框架所使用的ECMAScript 5特性,因此这个查询条件通常用于确保项目不兼容这些过时的浏览器版本。同时,它也表明项目将兼容IE11及更高版本的IE浏览器(尽管IE11本身也存在一些兼容性问