前端,服务端渲染引入第三方依赖window全局对象的插件,window is not defined
·
有的时候我们引入第三方插件 会发现在服务端编译阶段就给我们报错了,
因为在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)
}
就把引入的那个写在。文件顶部就行了

测试 可以正常打印出来的。
关注我 持续更新 前端知识。
更多推荐
所有评论(0)