Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.
In your page components, you can execute code only on the server side or on the client side, by checking the window property.
This property only exists inside the browser, so you can check
if (typeof window === 'undefined') {
}
and add the server-side code in that block.
Similarly, you can execute client-side code only by checking
if (typeof window !== 'undefined') {
}
JS Tip: We use the
typeofoperator here because we can’t detect a value to be undefined in other ways. We can’t doif (window === undefined)because we’d get a “window is not defined” runtime error
Next.js, as a build-time optimization, also removes the code that uses those checks from bundles. A client-side bundle will not include the content wrapped in an if (typeof window === 'undefined') {} block.