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.js 或 vue.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,这能解决大部分构建时的模块导出问题。如果问题仍然存在,可能需要检查具体的构建错误日志,确认是否与其他依赖存在冲突。

