在Drupal环境中解决ckeditor-duplicated-modules错误
解决Drupal CKEditor5集成插件时的
ckeditor-duplicated-modules错误 统一导入路径规范
Drupal的CKEditor5构建环境要求所有核心模块必须使用ckeditor5/src/前缀的导入路径,绝对不能混用@ckeditor/ckeditor5-*格式的直接包导入。把所有导入统一改成短路径格式:import { Plugin } from 'ckeditor5/src/core'; import { ButtonView, ContextualBalloon, clickOutsideHandler } from 'ckeditor5/src/ui';两种导入方式共存是触发模块重复加载的核心原因之一。
检查模块配置与依赖
- 打开
ckeditor5.plugin.yml,确认没有重复声明Drupal核心已提供的CKEditor5模块(比如ContextualBalloon属于默认加载的UI组件,无需在你的插件依赖里添加)。 - 查看模块的
package.json,删除手动安装的@ckeditor/ckeditor5-ui这类包——Drupal核心已经内置了对应模块,手动安装会导致两套代码共存。
- 打开
清理缓存与构建文件
- 执行Drupal缓存清理:
drush cr(或通过后台界面操作) - 删除模块下的
node_modules和dist目录,重新执行构建命令(如npm run build) - 强制清理浏览器缓存,避免旧的构建文件残留干扰。
- 执行Drupal缓存清理:
验证插件注册配置
确保ckeditor5.plugin.yml里只注册你自己的插件,不要包含CKEditor核心模块:abbreviation: ckeditor5: plugins: - DrupalAbbreviation.Abbreviation drupal: label: 'Abbreviation' library: abbreviation/ckeditor5 toolbar_items: abbreviation: label: 'Abbreviation' elements: - <abbr title>
内容的提问来源于stack exchange,提问作者jons
相关产品推荐
相关产品推荐

