Допустим, вы используете NextJS и хотите проверить путь к окну:
Если вы в настоящее время находитесь в режиме разработки, вы, вероятно, столкнетесь с этой ошибкой:
Проблема в том, что во время getInitialProps
NextJS отрендерит ваш компонент один раз. Процесс узла не имеет объекта окна.
Вы слышали, что NextJS 10 заполняет объект process.browser
, который будет работать легко:
Проблема в том, что согласно этим источникам process.browser
устарел. Вместо этого мы должны использовать typeof window === 'undefined'
.
Вот простая вспомогательная функция, которую вы можете скопировать:export const isServer = () => typeof window === 'undefined'
Если вы не визуализируете свой компонент на стороне сервера, ваша сборка снова работает:
Вуаля! Компонент снова рендерится.