具体情况是这样的:当项目运行在IE浏览器时看到的是一片空白,这时候打开开发者工具发现报错了

Object不支持属性或方法defineProperty

脑袋一懵,难道IE兼容的情况在项目中没有配置???不应该呀,怎么可能会犯这种低级错误呢?然后就是噼里啪啦一顿排查:
首先检查了main.js是否引入了

import '@babel/polyfill’;

package.json是否存在此项?其实若不存在却有引用项目是会直接报错的,那也就不存在这种情况了。

其次,检查了webpack中的entry是否加了'@babel/polyfill’,发现也是存在的。没啥头绪的我只好怀疑@babel/polyfill是不是没安装成功,所以就又安装了一遍。

npm install —save-dev @babel/polyfill

安装成功后再次运行,却发现这次的运行还是报错,但却不是同一个,已经换了个报错信息:

缺少’:’ 

按照提示找到的问题竟然是在 使用严格模式 这一行上,一口老血喷了出来……

use strict 

没办法,百度了一下看了一些差不多情况的,看到一个网友说是引入@babel/polyfill还有一些高级语法没有被编译,需要配置一下.babelrc文件,这个时候才惊觉到项目中竟然没有此文件。
(oh no,😱不可置信震惊脸…)
真是千算万算就是没想到还能这样,问题找到这,赶紧把缺失的文件补上,然后项目重启,在IE浏览器查看,终于OK了。

一开始还真以为是遇到啥大问题了,都准备撸起袖子大干一番了,结果竟是缺失文件造成的结果,真是粗心大意啊。╮(╯_╰)╭

帮助文献:https://blog.csdn.net/z1832729975/article/details/103120872/

posted on 2021-07-29 09:35  羽丫头不乖  阅读(26)  评论(0编辑  收藏  举报