高级前端
react
【Q466】在 SSR 项目中如何判断当前环境时服务器端还是浏览器端

在 SSR 项目中如何判断当前环境时服务器端还是浏览器端

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 474 (opens in a new tab)

Author 回答者: listenecho (opens in a new tab)

  1. SSR渲染的时候,服务端与客户端走不同的webpack打包配置。 那么就可以在打包的时候写入区分环境的环境变量。
  2. 服务器端是没有window document 等浏览器宿主环境对象的,可以通过 类型检测 这些对象 来区分。

> Author
回答者: [shfshanyue](https://github.com/shfshanyue)


``` js
const isServer = typeof window === 'undefined'

Author 回答者: shfshanyue (opens in a new tab)

  1. SSR渲染的时候,服务端与客户端走不同的webpack打包配置。 那么就可以在打包的时候写入区分环境的环境变量。
  2. 服务器端是没有window document 等浏览器宿主环境对象的,可以通过 类型检测 这些对象 来区分。

一般就是通过第二条来区分了