Qandar

Q GridsomeでWindow is not definedというエラーが出た

公開日:2021年4月9日

Answer

JavascriptのWindowインターフェイスを使っているのが原因です

Gridsomeは、静的サイトにビルドする際にVue.jsのコードを実行してページを生成しているため、Windowインターフェースが使えません(ブラウザじゃないのでWindowがないので)。

Gridsomeのスクリプトでwindowを使っていなくても、インストールしたプラグインがwindowを使っているとエラーになります。

エラー画面に、エラーもとのプラグインが表示されるので、そのプラグインを止めればエラーは出なくなります。

Vue.jsのプラグインはブラウザで使う前提なので、比較的windowを使っていることが多いのです。Gridsome用のプラグインを使うか、自分でロジックを組むことになりますが、エラー対応を考えたら自分で組んだ方が楽だったりもします。

新着Q&A