学无先后,达者为师

网站首页 编程语言 正文

前端,服务端渲染引入第三方依赖window全局对象的插件,window is not defined

作者:yunchong_zhao 更新时间: 2022-04-18 编程语言

有的时候我们引入第三方插件 会发现在服务端编译阶段就给我们报错了,
因为在node环境下是不认识window这个全局对象的。

这个时候 就得让我们等到客户端环境的时候 再加载就更好了

但是 我们怎么判断呢总不能这样写吧
判断说是不是服务端 我们可以通过判断 window是不是存在

if(typeof window != "undefined") {
	import wx from "js-sdk"
}

这样肯定不行的。因为es6的模块化必须在顶部。

但真的就不行了吗。其实我们可以 使用 CommonJS规范引入

if(typeof window != "undefined") {
	require('js-sdk');
}
// 我们在使用的时候  wx 挂在window全局对象上了 我们在客户端可以直接访问到的
if(typeof window != "undefined") {
	console.log(wx)
}

就把引入的那个写在。文件顶部就行了
在这里插入图片描述
测试 可以正常打印出来的。

关注我 持续更新 前端知识。

原文链接:https://yunchong.blog.csdn.net/article/details/120759296

栏目分类
最近更新