在 Vue.js 中,如何检测 created() 钩子中的代码是否在浏览器中运行?

Lon*_*ike 5 javascript vue.js

我有一个 Vue SSR 应用程序,对于某些组件,我需要知道它们是在服务器端渲染期间在 Node 上运行还是在浏览器上运行。

我已经在 Webpack 配置中设置了进程环境,例如

process.env.VUE_ENV === 'server' 
Run Code Online (Sandbox Code Playgroud)

哪个有效。但是出于各种原因,我需要独立于构建环境的检测。

我想在 created() 钩子中检查浏览器/节点。

我该怎么做?

Hus*_*him 6

我从 Vue.js 源代码中提取了以下行 -verbatim- ..

const inBrowser = typeof window !== 'undefined';

您可以使用它来验证您的代码是否在浏览器中运行。