Q. GridsomeでWindow is not definedというエラーが出た
公開日:2021年4月9日
A.nswer
JavascriptのWindowインターフェイスを使っているのが原因です
Gridsomeは、静的サイトにビルドする際にVue.jsのコードを実行してページを生成しているため、Windowインターフェースが使えません(ブラウザじゃないのでWindowがないので)。
Gridsomeのスクリプトでwindowを使っていなくても、インストールしたプラグインがwindowを使っているとエラーになります。
エラー画面に、エラーもとのプラグインが表示されるので、そのプラグインを止めればエラーは出なくなります。
Vue.jsのプラグインはブラウザで使う前提なので、比較的windowを使っていることが多いのです。Gridsome用のプラグインを使うか、自分でロジックを組むことになりますが、エラー対応を考えたら自分で組んだ方が楽だったりもします。