vue项目使用vuex,当我在入口文件引入vuex store的时候,部分安卓浏览器上面页面打开是空白,控制台也无任何错误信息。谷歌寻找问题原因,说是babel-polyfill没有引入,但我项目中已经引入了babel-polyfill,但页面还是空白且控制无任何错误信息,一时想不明白。我尝试把引入store去掉,发现页面正常显示,于是怀疑跟vuex有关系,但是没有错误信息输出,无从定位,只能依次检查代码,我尝试把store放到new Vue前面,发现正常了,难道跟什么顺序有关系,看到babel-polyfill在前面,突然想到是不是babel-polyfill在store后面,然而vuex里面的代码发现语法不支持把错误catch掉了,于是把import 'babel-polyfill'放在最顶上,结果一切正常。

修改前

import Vue from 'vue'
import App from './app'

// utils
import router from './router'
import filters from './filter'

// vuex store
import store from './store'

import 'babel-polyfill'

// fastclick
import fastclick from 'fastclick'
fastclick.attach(document.body, {})

// filters
Object.keys(filters).forEach(k => Vue.filter(k, filters[k]))

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})

修改后

import 'babel-polyfill'

import Vue from 'vue'
import App from './app'

// utils
import router from './router'
import filters from './filter'

// vuex store
import store from './store'

// fastclick
import fastclick from 'fastclick'
fastclick.attach(document.body, {})

// filters
Object.keys(filters).forEach(k => Vue.filter(k, filters[k]))

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})