Vue使用babel-polyfill兼容IE解决白屏及语法报错问题

 更新时间:2024年03月07日 10:58:39   作者:Alson_3364  
这篇文章主要介绍了Vue使用babel-polyfill兼容IE解决白屏及语法报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用babel-polyfill兼容IE解决白屏及语法报错

vue elementUI项目使用webpack打包上线后,服务器环境下IE报语法错误及白屏

在最近的项目中,在使用webpack打包后发布,有用户反馈使用IE浏览器访问会白屏,这就不能忍受了,经过排查发现,发生这个错误应该是有文件没有由ES6转ES5语法造成,而IE不兼容该语法

既然问题找到了,那解决起来应该就容易了,然后事实上并没有我想的那么简单,话不多说,直接开始。

首先,通用的方式就是,项目中引入babel-polyfill,安装方法可以自行百度

在这里我直接上命令:

npm i --save babel-polyfill (或者使用如果安装有cnpm就用cnpm)

第一步:引入babel-polyfill

引入babel-polyfill的方式无非有以下几种

1.在main.js的顶部直接使用 import ‘babel-polyfill’

2.在vue.config.js中,直接在chainWebpack内添加以下代码,只需要引入一处即可

chainWebpack: config => {
    config.entry('main').add('babel-polyfill')
    config.entry.app = ['babel-polyfill', './src/main.js']
  }

第二步:在babel.config.js中设置entry

module.exports = {
  presets: [['@vue/app', { 'useBuiltIns': 'entry', polyfills: ['es6.promise', 'es6.symbol'] }]]

第三步:如果除了项目还引入了其他插件而该插件内部也存在ES6写法

则需要将这些插件的ES6转换成ES5

使用transpileDependencies直接将需要转换的插件放入

transpileDependencies: ['element-ui', 'echarts', 'highcharts', 'highcharts-3d', 'screenfull', 'oidc-client', 'vuex-oidc']

VUE CLI官方文档中对transpileDependencies的解释是,默认情况下 babel-loader 会忽略所有 node_modules 中的文件。

如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来,他接受字符串或者正则表达式

https://cli.vuejs.org/zh/config/#transpiledependencies

如果引入的包比较多,可以根据package.json中引入包慢慢调试,直到将所有存在ES6语法的插件全部换成ES5

在开发的过程中遇到过一个问题,就是,如果使用cnpm安装依赖,有可能会导致transpiledependencies无效

具体原因还没有去深究,不过我的做法是,直接将node_modules全部删掉后,重新使用npm i安装所有依赖后,再次重新打包,目前问题已解决~

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vuex 中辅助函数mapGetters的基本用法详解

    vuex 中辅助函数mapGetters的基本用法详解

    mapGetters辅助函数仅仅是将 store 中的 getter 映射到局部计算属性,在组件或界面中不使用mapGetter调用映射vuex中的getter,在组件或界面中使用mapGetter调用映射vuex中的getter,具体内容跟随小编一起通过本文学习吧 
    2021-07-07
  • 浅谈Vue.js 关于页面加载完成后执行一个方法的问题

    浅谈Vue.js 关于页面加载完成后执行一个方法的问题

    这篇文章主要介绍了Vue.js 关于页面加载完成后执行一个方法的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Vue elementui字体图标显示问题解决方案

    Vue elementui字体图标显示问题解决方案

    这篇文章主要介绍了Vue elementui字体图标显示问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 前端elementUI select选择器实现远程搜索

    前端elementUI select选择器实现远程搜索

    这篇文章主要为大家介绍了前端使用elementUI select选择器实现远程搜索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • uniapp模仿微信实现聊天界面的示例代码

    uniapp模仿微信实现聊天界面的示例代码

    这篇文章主要介绍了如何利用uniapp模仿微信,实现一个聊天界面。文中的示例代码讲解详细,对我们学习Vue有一定的帮助,感兴趣的可以了解一下
    2022-01-01
  • 带你理解vue中的v-bind

    带你理解vue中的v-bind

    如果你写过vue,对v-bind这个指令一定不陌生。 下面小编将从源码层面去带大家剖析一下v-bind背后的原理,需要的小伙伴可以参考下面章的具体内容
    2021-09-09
  • Vue前端生成UUID的方法详解

    Vue前端生成UUID的方法详解

    这篇文章主要给大家介绍了关于Vue前端生成UUID的相关资料,前端需要生成一个唯一标识符作为ID时,可以使用Vue UUID插件,比如生成订单号、用户ID等等,需要的朋友可以参考下
    2023-09-09
  • 详解vuex持久化插件解决浏览器刷新数据消失问题

    详解vuex持久化插件解决浏览器刷新数据消失问题

    这篇文章主要介绍了详解vuex持久化插件解决浏览器刷新数据消失问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • vue中如何使用echarts和echarts-gl实现3D饼图环形饼图

    vue中如何使用echarts和echarts-gl实现3D饼图环形饼图

    现在vue是很多公司前端的主流框架,我目前所在公司接触的项目也都是使用vue来实现的,很少有完全使用原生的JavaScript来写项目的了,下面这篇文章主要给大家介绍了关于vue中如何使用echarts和echarts-gl实现3D饼图环形饼图的相关资料,需要的朋友可以参考下
    2023-03-03
  • Vue cli3 库模式搭建组件库并发布到 npm的流程

    Vue cli3 库模式搭建组件库并发布到 npm的流程

    这篇文章主要介绍了Vue cli3 库模式搭建组件库并发布到 npm,以下一个简单的颜色选择器插件 vColorPicker 讲述从开发到上线到npm的流程,需要的朋友可以参考下
    2018-10-10

最新评论