Vue アプリで使われている Vue のバージョンをブラウザで知る方法

Vue 製のアプリをブラウザで開いている時に、そのアプリで使われている Vue のバージョンを確認する方法。

開発者ツールを開いて、次の関数を実行すれば確認できる。

const Vue = (() => {
  const elementHasVue = Array.from(document.querySelectorAll('*')).find(element => element.__vue__);
  if(!elementHasVue) return null;
  let vueClass = Object.getPrototypeOf(elementHasVue.__vue__).constructor;
  while(vueClass.super) {
    vueClass = vueClass.super;
  }
  return vueClass;
})();

console.log(Vue.version);  // '2.6.11' などなど

Vue のルート要素 (div#app など) が __vue__ という隠しプロパティを持っていて、このコンストラクタから super を辿っていくと、.version というプロパティを持つ Vue 本体のクラスに辿り着ける。

Vue DevTools などでもこの手法を使っている。