首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在next.js中检测我是否在客户端的服务器上?

如何在next.js中检测我是否在客户端的服务器上?
EN

Stack Overflow用户
提问于 2018-03-22 00:30:51
回答 3查看 57K关注 0票数 71

我使用的是带有Next.js的客户express服务器。它在一个容器中运行。我正在用isomorphic-fetch做一个http请求,为我的渲染获取数据。我喜欢在服务器上运行时使用localhost,在客户端运行时使用mysite.com。不确定完成此任务的最佳方式。我可以通过做const isServer = typeof window === 'undefined'来轻松地完成这件事,但这看起来很糟糕。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-02 18:54:44

现在(2020年1月)应该是typeof window === 'undefined',因为process.browser已弃用

请参阅https://github.com/zeit/next.js/issues/5354#issuecomment-520305040

票数 142
EN

Stack Overflow用户

发布于 2018-03-22 01:05:24

您可以使用process.browser来区分服务器环境(NodeJS)和客户端环境(浏览器)。

process.browser在客户端为true,在服务器上为undefined

票数 72
EN

Stack Overflow用户

发布于 2018-07-24 08:27:30

另一个注意事项是,componentDidMount()总是在浏览器上调用。我经常加载初始数据集( getInitialProps()中的seo内容,然后在componentDidMount()方法中加载更深入的数据。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49411796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档