看官方文档说的不是很清楚
最简单的是在 mounted
钩子中用,这个钩子只在前端触发
如果第三方插件必须要用到 window
对象,可以以插件的形式引入,只需要在 nuxt.config.js
中将引入的对象插件设置成 ssr: false
即可。
如:
plugins: [ { src: '~/plugins/vue-notifications', ssr: false }]
在像 asyncData
fetch
等服务端和前端都生效的钩子中,可以用 isServer
或 isClient
来判断钩子是在那端执行。
例如:
asyncData ({isServer, isClient}) {
if (isServer) {
// 服务端执行的偌
}
if (isClient) {
// 客户端执行的代码,可以用 `window` 对象
}
}
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
window 对象(API)使用,可以在 vue 其他生命周期进行访问,例如 mounted,最好判断是否存在在去访问。
process.server,process.browser。等。
官网描述