uniapp使用wangeditor5报"openblock" is not exported by "node_modules/@dcloudi"如何解决?

在uniapp项目中使用wangeditor5时遇到报错:“openblock” is not exported by “node_modules/@dcloudi”,请问该如何解决?这个错误是在编译阶段出现的,已经确认wangeditor5在普通web项目中可以正常使用,但在uniapp中就会报这个错。尝试过重新安装依赖和清理缓存但问题依旧,有没有人遇到过类似情况并成功解决的?

2 回复

检查wangeditor5版本,确保与uniapp兼容。尝试降级到稳定版本,或更新到最新版。检查node_modules是否完整,可删除后重新npm install。


这个问题通常是由于 wangEditor5 与 uni-app 的构建工具(如 Vite 或 Webpack)在模块解析时出现兼容性问题导致的。以下是几种解决方案:

1. 配置构建工具的别名(推荐)vite.config.jsvue.config.js 中添加以下配置:

// vite.config.js
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'

export default defineConfig({
  plugins: [uni()],
  resolve: {
    alias: {
      '@wangeditor/editor': '@wangeditor/editor/dist/index.js'
    }
  }
})

2. 检查 wangEditor5 版本兼容性 确保使用较新版本的 wangEditor5(建议 v5.1.23+):

npm install @wangeditor/editor@latest

3. 使用动态导入 在页面中按需加载编辑器:

onMounted(async () => {
  const { Boot, I18n } = await import('@wangeditor/editor')
  // 初始化编辑器...
})

4. 检查 uni-app 版本 更新到最新版本的 HBuilderX 或 CLI:

npm update @dcloudio/uni-app

5. 配置 externals(Webpack)vue.config.js 中:

module.exports = {
  configureWebpack: {
    externals: {
      '@wangeditor/editor': 'wangEditor'
    }
  }
}

建议优先尝试方案1和2,这能解决大部分构建时的模块导出问题。如果问题仍然存在,可能需要检查具体的构建错误日志,确认是否与其他依赖存在冲突。

回到顶部