Vue.js
babel
Vuex

Vuexが動かない古い端末に対しての対応

More than 1 year has passed since last update.


概要


Androidの標準ブラウザというのがあってな…


というおじさん臭い話です。


現象


環境

バージョン

Android
4.4.2

Vue
2.1.6

Vuex
2.1.1

このときに起きるエラーは以下の様なものです。

標準ブラウザなのでJavaScriptコンソールを開いてみると

Uncaught Error: [vuex] vuex requires a Promise polyfill in this browser.

とでています。

VuexではPromise使おうとしているけど、それがこのブラウザにはないよ、polyfill使ってね、という感じです。


対応方法

pollyfillって何を使えば良いんだろうとgoogle先生に聞いてみます、と以下2つぐらいがでてきました。

どうも皆様karmaでうまくいかないようです。 Android標準ブラウザなんかで困っている人なんて

以下のようにインストールしろと言っているので、入れているpollyfillはbabelのもののようです。今回もinstallするとうまくいきます。

npm install --save-dev babel-polyfill


npmを使っていない場合

しかし、残念ながら私の環境ではnpmを使っていなかったのです。

その為 https://babeljs.io/docs/usage/polyfill/Usage in Browser にも書かれていますが、

vuexを読み込む前にこのpollyfillを読めば良いです。

pollyfillは適当に何処かで npm install をして node_modules/babel-polyfill/distに入っているpolyfill.min.jsからありがたくもらってきましょう。