Nutui 引入SSR项目,出现Element is undefine的错误
问题描述
参考 http://doc.ssr-fc.com/docs/features$started 创建一个vue3 ssr项目。 然后在项目文件夹web/components/layout/App.vue注册nutui. 如下:
`
最小可复现仓库
请创建最小可复现代码,并上传到你的 GitHub 仓库
https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue3-ssr
预期的行为和实际行为
复现步骤,具体代码
在上述项目中的page/index/render.vue 引入nut-button, 如下:
`
然后,yarn run start就会出错。
我尝试试修改了nut-ui,nutui.umd.js几处代码后能够正常显示:
第一处:
注释2900行处,const _window= window代码
function requestAniFrame() { /* const _window = window if (typeof _window !== "undefined") { return _window.requestAnimationFrame || _window.webkitRequestAnimationFrame || function (callback) { _window.setTimeout(callback, 1e3 / 60); }; } else { _window = window return function (callback) { setTimeout(callback, 1e3 / 60); }; }*/ } var requestAniFrame$1 = requestAniFrame();
第二处: 816行处 teleport: { type: [String,Element], default: "body" }, 修改为 teleport: { type: [String, String], default: "body" },
应该是在服务端,无法识别Element,Window这些对象。