Vue 2.0+Vue-cli+swiper项目在安卓5.1上白屏的问题

参考博客1
参考博客2
这个问题的前提是版本1已经修复了vue2.0在安卓4.4白屏的问题,已经兼容了es6.如果还没解决es6的兼容性问题,需要结合这篇博客

1.解决方法

  • 方法1
    引入的时候看下是不是这么引入的,如果不是就修改下
    import Swiper from 'swiper/dist/js/swiper.min.js';
    为什么这么改一下能好呢,因为swiper.min.js是编译好的兼容es6的版本,而import Swiper from swiper加载的是swiper.esm.bundle.js,这个文件,不在webpack配置,是有兼容性问题的,在ie9-10和低版本安卓手机都会复现。

  • 方法2
    vue-cli2开发项目:
    修改 webpack.base.conf.js:

module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'),resolve('node_modules/swiper/dist/js'),resolve('node_modules/dom7/dist')]
      },

vue-cli3开发项目:
新增vue.config.js文件在项目根目录

module.exports = {
  chainWebpack: config => {
    config.rule('js').include.add(/node_modules\/(dom7|swiper)\/.*/)
  }
}
  • 方法3
    在update生命周期函数中初始化new Swiper函数。
    这个是之前遇到的,在开发时就发现解决的。

2.测试方法

因为是在安卓5.1手机上发现的白屏问题,测试会不那么方便,这里推荐使用ie9-10浏览器测试,不白屏了就是修复了。
不过这里有个问题就是解决方法2只在编译后生效,解决方法1编译前编译后都生效。推荐方法1,并且以后引入这种项目,都采用这种方式引入,可以减少问题复发。

感兴趣可以往下看看解决思路

3.解决思路

遇到这种控制台不会报错的问题,不知道怎么去找解决方法,只能直接谷歌查,一开始思路不对,直接查vue2 在安卓低版本手机上白屏,不过当时看到一个点,觉得应该和我是同一个问题,就是swiper在vue js babel-loader的解析。


image.png

直接复制到自己项目,测试发现还是白屏,这时候,我以为觉得不是swiper的问题
又开始查vue2 的兼容性问题,然后开始安装不同的兼容插件,还下载低版本的webpack-dev-server@2.6.1,这个时候我在一篇博客上看到在ie9中测是一样的,就没有安装一个就去编译测试,毕竟vue-cli2编译很慢。然后发现ie控制台还是报错,我开始查SCRIPT1002: 语法错误 的解决方法,再次安装一堆插件,安装时间还特别久,ie还是报错,不知道怎么解决了。
这时候后台同事问我,觉得应该是什么导致的,可以先确定下,把可能导致白屏的代码注释下测测。点醒我了,我感觉一直在瞎改,然后把swiper引入的代码注释,发现ie9控制台不报错,这时确定就是swiper的问题了,再看上面的vue.config.js,结合之前开发的vue-cli3项目,想到这个配置文件是配置vue-cli3的,我这个vue-cli2项目配置的不是这么改的。


image.png

image.png

一开始还是直接拿的上面博客的写法
webpack.base.conf.js:

module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'), resolve('/node_modules\\/(dom7|swiper)\\/.*/')]
      },

还是不行。我奔溃了,再想想只能自己写死了,不用这个正则的写法了。终于不报错了。这里还有个坑,就是编译之前,ie9还是报错的是白屏,编译后在测试服打开是好的。

module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'),resolve('node_modules/swiper/dist/js'),resolve('node_modules/dom7/dist')]
      },

后台同事发给我一个博客的链接,还有个解决方法,试了下,简直是完美解决,开发模式ie9也不报错了

image.png

import Swiper from 'swiper/dist/js/swiper.min.js';

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343