wangEditor icon indicating copy to clipboard operation
wangEditor copied to clipboard

使用TS+服务端渲染时,类型接口无法导入,导入即报错

Open liuxueyong123 opened this issue 2 years ago • 2 comments

问题描述

使用TS+服务端渲染时,类型接口无法导入,导入即报错

wangEditor 版本

"@wangeditor/editor": "^5.1.14",
"@wangeditor/editor-for-vue": "^1.0.2",

是否查阅了文档 ?

最小成本的复现步骤

因为是服务端渲染,所以无法直接导入 @wangeditor/editor-for-vue ,必须用如下方式导入

const wangEditor = process.browser ? require('@wangeditor/editor-for-vue') : undefined // 服务端渲染初始化时没有 window 等对象,直接导入将报错

@Component({
  components: wangEditor
    ? {
        Editor: wangEditor.Editor,
        Toolbar: wangEditor.Toolbar,
      }
    : {},
})
export default class ArticleEditor extends Vue {}

但是类型接口貌似无法通过这种方式来导入,直接导入的话又会报错,自己重新把类型定义一遍感觉又有点傻。想知道有没有那种纯@types的包,或者有什么好的解决方案吗

liuxueyong123 avatar Aug 08 '22 09:08 liuxueyong123

你是用 nuxt 吗

wangfupeng1988 avatar Aug 08 '22 12:08 wangfupeng1988

你是用 nuxt 吗

对的,采用的nuxt2+ts

liuxueyong123 avatar Aug 09 '22 02:08 liuxueyong123

很抱歉,你提供的信息过于笼统,无法定位啥原因

clinfc avatar Aug 16 '22 15:08 clinfc

就是我在导入类型时会直接报错。在导入@wangeditor/editor这个包的时候,你们应该做了初始化,比如window上挂载什么事件之类的操作(即使我并不需要导入整个包的内容,我只想导入一个类型而已),但因为采用的服务端渲染,服务端没有window,会导致报错

import { IEditorConfig } from '@wangeditor/editor'

liuxueyong123 avatar Aug 18 '22 06:08 liuxueyong123