脚手架创建vue2项目解决低版本手机浏览器白屏

前提

环境:(vue 2.6.14 ; @vue/cli 4.5.17)
混合式app开发,将vue项目打包到原生webview下;安卓及ios低版本手机不兼容es6导致白屏问题

解决方案

1、安装babel-polyfill 以及 es6-promise并在main.js文件中引入

// main.js
import "babel-polyfill"
import Es6Promise from 'es6-promise'
require('es6-promise').polyfill() // 在node或浏览器中支持ES6 与CommonJS
Es6Promise.polyfill()

2、修改babel.config.js

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset',
  ],
};

3、修改vue.config.js,应该按需要引入需要转码的依赖包名称,但是我无法确定报错的依赖包,所以全转了

 transpileDependencies: process.env.NODE_ENV === "development" ? ["*"] : [],

4、修改package.json

 "browserslist": [
    "> 1%",
    "last 2 versions",
    "ios >= 8",
    "android >= 4.0"
  ]

小插曲

在做完上述配置后,发现高版本的浏览器白屏,使用Chrome查看报错信息,发现是打包后的chunk-vendors.js文件报错Cannot read property ‘_android’ of undefine;解决方法为将if (this._android && this._android <= 2.1) 改为:if (this && this._android <= 2.1)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值