详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决

在重构支付宝支付H5页面时选择了vue3来重构完成之后发布的时候发现一个问题,ios的支付宝内置浏览器扫码进入没问题但是android支付宝扫码显示白屏,开始以为是不支持es6语法查了资料去掉了严格模式更新依旧无效,考虑到可能回事android低版本系统兼容问题查了一下解决办法修改后果然可以了。

原文链接:https://juejin.im/post/5cb1dc4c5188251b1f4d95ed

修改步骤:
1、根目录下 .babelrc 文件添加以下内容(没有新建即可)

.babelrc 文件跟 package.json 同级。 将以下代码复制到 .babelrc 文件中

{
  "presets": ["@babel/preset-env"],
  "plugins": [
    "@babel/plugin-transform-runtime"
  ]
}

2、修改 babel.config.js

将以下代码复制到 babel.config.js 文件中

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

3. 修改 vue.config.js

用 vue-cli 3 新建项目时,默认是没有这个配置文件的,没有则在项目根目录下新建一个 vue.config.js ,也是跟 package.json 同级。

解决白屏问题需要添加的代码:

module.exports = {
  transpileDependencies: ['webpack-dev-server/client'],
	chainWebpack: config => {
    config.entry.app = ['babel-polyfill', './src/main.js'];
	}
}

4. 修改 main.js 文件

找到 项目根目录/src/main.js ,添加以下代码

import 'babel-polyfill'
import Es6Promise from 'es6-promise'
Es6Promise.polyfill()

5. 安装依赖

在根目录下执行以下语句。

npm install --save-dev @babel/core @babel/plugin-transform-runtime @babel/preset-env es6-promise babel-polyfill 

以上五步配置完就可以解决 Vue 项目在低版本安卓系统和 IE 浏览器下显示空白的问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值