问题描述
采用umiJS的ssr服务端渲染,集成braft-editor后,启动server报错,如下图
解决过程
1、重启node、编辑器、电脑均不起作用
2、直接查询报错相关的资料,并未找到相应的答案
3、仔细想想编辑器已经在很多项目中用了,只是简单的初始化不应该报错,想到本项目是服务端渲染,node不支持document等浏览器属性。
4、开始查阅如何解决服务端渲染使用document第三方插件的方法,经一番查阅,可按需加载braft-editor插件。
解决方案
总体思路:使用umiJS提供的dynamic动态加载功能进行按需引入编辑器组件
1、封装braft-editor组件Editor(具体代码不在此列出了,可参考编辑器示例)
2、在使用Editor组件的页面中使用umiJS的dynamic动态加载功能进行Editor组件的加载
//引入方式
const Editor = dynamic({
loader: () => import('../components/Editor'),
});
//正常使用
<Editor />
3、经过上述两步,待node服务热重启后即可正常使用了