VUE2项目在IE9+白屏报错语法错误的解决

前言

解决VUE2项目在IE9+白屏报错语法错误的解决

由于公司项目要求PC端项目需要兼容IE9+浏览器,查阅了网上资料,经过数天的研究,终于成功解决这个让我头疼的问题!


通过实践后得出以下解决方案

一、创建项目

首先通过指令检查vue脚手架版本(这里一定要注意,本人就是使用过高的脚手架版本导致一直找不到问题,困扰数天!)

1.打开命令行工具(如终端或命令提示符)

vue -V

这里本人亲测3.0.5和3.12.0可以。应该3的版本都可以。

如果当前脚手架版本高于3的话需要降级处理(如vue脚手架版本就是3版本的跳过以下操作)

2.卸载vue

npm uninstall -g @vue/cli

3.卸载完成后执行命令确认是否卸载成功

vue -V

4.如果成功了的话执行清除 npm 缓存,有时候 npm 缓存可能会导致下载问题。可以尝试清除 npm 缓存,然后再次尝试安装 Vue 脚手架。

npm cache clean --force

5.运行以下命令重新安装 Vue CLI脚手架(版本3)

可以自己安装其他Vue CLI3相关版本。以下命令是安装3.0.5版本

npm install -g @vue/cli@3.0.5

6.安装成功后就开始自行创建项目(此处省略)

二、解决方法

1.运行项目到IE9+

这时竟然发现白屏 打开F12 发现提示语法错误
在这里插入图片描述
查明报错原因是: IE不支持ES6语法

打开终端

npm install --save-dev babel-polyfill

2.在main.js的第一行引入:

/*记住一定是首行代码*/
import 'babel-polyfill'

3.在babel.config.js修改presets,内容如下:

presets: [['@vue/app', {
    
    useBuiltIns: 'entry',}]],

然后重新运行项目

4.还有一种情况是在ie中打开报错显示的sockjs-client错误

/***/ "./node_modules/sockjs-client/dist/sockjs.js":
/*!***************************************************!*\
  !*** ./node_modules/sockjs-client/dist/sockjs.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
    
    

解决方案
降低sockjs-client的版本,他依赖描述在package-lock.json在里面,如果有这种情况出现,你的版本可能在我下方给出这个版本之上

npm i sockjs-client@1.5.1 -D

更新版本完成后在,重新编译项目

即可解决

三、解决引入自定义字体的解决方案(根据项目要求修改)

使用@font-face引入自定义特殊字体,在IE9环境下报错“@font-face 未能完成 OpenType 嵌入权限检查。权限必须是可安装的。”错误。

在这里插入图片描述
查明报错原因是: IE9不支持字体文件类型

解决方案:转换字体为WOFF格式

推荐网址:字体转换

在需要的页面引入该字体文件后,就可以正常显示咱们自定义的字体了

	@font-face{
    
    
		font-family:HarmonyOS_Sans_SC_Bold;
		src:url('./assets/fonts/HarmonyOS_Sans_SC_Bold.woff');
	}

总结:

以上就是今天要讲的内容,希望可以帮到更多人解决IE兼容问题。本人在IE坑里好长时间才得到解决方案,希望这篇博客可以帮到你!

猜你喜欢

转载自blog.csdn.net/chb19991118/article/details/131844282