我使用的是带有Next.js的客户express服务器。它在一个容器中运行。我正在用isomorphic-fetch
做一个http请求,为我的渲染获取数据。我喜欢在服务器上运行时使用localhost
,在客户端运行时使用mysite.com
。不确定完成此任务的最佳方式。我可以通过做const isServer = typeof window === 'undefined'
来轻松地完成这件事,但这看起来很糟糕。
发布于 2020-01-02 18:54:44
现在(2020年1月)应该是typeof window === 'undefined'
,因为process.browser
已弃用
请参阅https://github.com/zeit/next.js/issues/5354#issuecomment-520305040
发布于 2018-03-22 01:05:24
您可以使用process.browser
来区分服务器环境(NodeJS)和客户端环境(浏览器)。
process.browser
在客户端为true
,在服务器上为undefined
。
发布于 2018-07-24 08:27:30
另一个注意事项是,componentDidMount()
总是在浏览器上调用。我经常加载初始数据集( getInitialProps()
中的seo内容,然后在componentDidMount()
方法中加载更深入的数据。
https://stackoverflow.com/questions/49411796
复制相似问题