在 Laravel 5 中使用 webpack 安装 CKEditor 5 插件

10
我在将插件安装到集成到Laravel 5.6的CKEditor时遇到了小问题。根据CKEditor文档的集成指南,我能够使用npm添加@ckeditor/ckeditor5-build-classic依赖项到项目中,并且在webpack中运行良好。
但是问题在于我无法添加默认情况下未包含在CKEditor中的自定义插件。我正在遵循指南来添加自定义插件,但它与Laravel本身中的webpack并不完全兼容。例如,我尝试添加@ckeditor/ckeditor5-alignment,但没有起作用,我得到了以下控制台错误。
TypeError: Cannot read property 'getAttribute' of null

我猜可能是在设置ClassicEditor实例时我没有添加所有必要的插件。所以我尝试了另一种方法。 我已经将插件安装到ckeditor构建中,并获得了自定义构建。但是,当我尝试使用以下语句将构建导入自定义路径时,它没有导入。

import ClassicEditor from '../plugins/vendor/ckeditor/build/ckeditor';

如果我只是从node_modules中删除构建目录并复制此自定义构建,则可以使用以下语句使其正常工作。
import ClassicEditor from '@ckeditor/ckeditor5-build-classic/build/ckeditor';

在node_modules中编辑/更新不是专业的方法。

我的问题是:

如何将自定义插件安装到Laravel自身的CKEditor中?

或者如何将自定义的CKEditor构建添加到项目中,而无需定制node_modules?


我遇到了同样的问题。我按照“将插件安装到编辑器”的指南进行操作,导入很好,我的IDE识别了插件并且编译顺利进行,但是在我的浏览器控制台中,我看到:modules [moduleId]未定义 - rachids
你找到这个问题的解决方案了吗?如果是,可以分享一下吗? - schadenfreude
1个回答

1

我在我的Laravel项目中使用过CKEditor等编辑器,以下是我的做法:

  1. 我从CKEditor网站下载了js和CSS文件并解压缩
  2. 我将这些文件复制到我的Laravel项目的public文件夹中
  3. 您可以像这样在您的blade页面中访问和使用它们
<code>
   <script src="{{asset('js/ckeditor.js')}}"></script>
   <link rel="stylesheet: href="{{asset('js/ckeditor.js')}}" />
</code>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接