vue不支持IE8的官方解释:
当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用Object.defineProperty 把这些属性全部转为 getter/setter。 Object.defineProperty 是ES5 中一个无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。
Object.defineProperty方法是ECMAScript5的规范,某些低版本浏览器如IE8是没法使用环境支持的语法模拟的,因此也可以说vue最低需要支持ECMAScript5规范的浏览器。
另外浏览器兼容性主要说的是2方面:
- js兼容性:这个除了最低ECMAScript5标准浏览器环境支持,通常还会使用babel-loader和@babel/preset-env把很多es6 es7高级语法解析成es5语法,以保证更好的兼容性。
- css兼容性:很多样式例如flex布局也需要兼容性处理,一般我们会使用postcss-loader和postcss-preset-env来做兼容性处理。
这样开发人员基本可以无视浏览器兼容性问题,减少了很多工作复杂度。
网友评论