参考:http://www.qiutianaimeili.com/html/page/2021/01/204905b36u3rqdzn.html

区分当前代码运行的环境是后端还是服务端

使用**process.server/process.client**
nuxt中有两个Vue对象,一个是运行在服务端的Vue,一个是运行在客户端的Vue。
服务端的vue在node环境中执行,客户端的vue在客户端执行。本来两者相安无事,但是有很多生命周期两个vue都会调用到。
例如:created和beforeCreated在服务端和客户端都会运行;
还有asyncData和fetch,middleWare这些虽然第一次在服务端执行,但是页面跳转后,客户端vue也会调用他们。
一些特殊的对象或者方法,例如window或者Document对象,只存在客户端,而服务端是没有的,因此如果在created中写window,需要区别是process.client。

  1. if(process.client) {
  2. console.log('浏览器端运行。。。')
  3. }