vue-cli3.0 嵌套app的webView 安卓5.0白屏

vue-cli3.0 嵌套app的webView 安卓5.0白屏

    • 白屏原因
    • 白屏解决方案(babel-polyfill)
    • babel-polyfill相关文章推荐
    • 你都照做了,但还是没有解决?
      • 将node包下的依赖转义
      • 将node包下所有的依赖转义
      • 将node包下除它以外的依赖全部转义

白屏原因

这里经过查看日志得出,白屏原因是低版本安卓因为识别不了ES6语法而抛出错误。

白屏解决方案(babel-polyfill)

package.json中

"babel-polyfill": "^6.26.0",
"es6-promise": "^4.2.8",		

main.js

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

babel-polyfill相关文章推荐

为什么要使用babel-polyfill?
babel-polyfill的引用和使用
babel-polyfill - Polyfill · Babel 中文网

你都照做了,但还是没有解决?

将node包下的依赖转义

当你翻到这里的时候,可能不是自己写的ES6代码导致的它白屏
a:那为什么我写的ES6代码都被babel-polyfill转义ES5了还是不行呢?
b:那只是你的代码被转义了,别人的可没有
a:别人的代码?
b:默认情况下 babel-loader 会忽略所有 node_modules 中的文件。
大白话的讲,你的node包下全都是别人的代码,他们是不会被转义的
这个时候可以就你的只有官网了,可以移步这里 vue-cli 配置参考-pileDependencies

vue.config.js中

transpileDependencies: [
    /[\\\/]node_modules[\\\/]test[\\\/]/
 ],

将名为test的依赖放入这个数组中去,大功告成

将node包下所有的依赖转义

我希望node包下的所有文件都被转义
好吧,vue.config.js中

transpileDependencies: [*],

将node包下除它以外的依赖全部转义

碰到一个棘手的问题
项目中使用到了vue-video-player 它本身依赖videojs 安装的时候也替你安装了videojs 很贴心
但是使用 transpileDependencies: [*] 的时候却不能打包 他提示让你安装videojs
这个时候千万别傻傻的去 npm i videojs 不然你会打开新世界的大门

transpileDependencies: [
	/^((?!vue-video-player).)*$/
],

照着做,将除它以外的依赖全部转义,好吗

你可能感兴趣的:(兼容,Vue)