なにこれ react-cytoscapeのようなwindowオブジェクトを前提としたライブラリをGatsbyで使おうとすると、gatsby developのときは正常動作するにもかかわらず、ビルド時にだけwindow is not definedエラーがでます。今回はその対処法を備忘録として残しておきます。 原因と対処法 Gatsbyビルド時は、windowやdocumentといったブラウザのグローバルオブジェクトを参照しているとエラーになります。 この場合、それらがundefinedかチェックが必要です。 // (Before) 以下でビルド時にエラーが出る場合は... const module = require("module") // (After 1) このようにwindowオブジェクトの存在チェックをすることでエラーを免れます if (typeof window !== `un