【问题标题】:CKEditor5 react component - add plugins problemsCKEditor5 react 组件 - 添加插件问题
【发布时间】:2019-02-28 12:35:54
【问题描述】:

在将 CKEditor5 组件添加到我的 React 应用程序时,我发现我需要添加更多插件 - 我已经这样做了,为每个文档添加和重建编辑器,特别是添加:

import Alignment from '@ckeditor/ckeditor5-alignment/src/alignment';
import Font from '@ckeditor/ckeditor5-font/src/font';
import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight';

和重建。第一期:

我在几个地方见过这样的:

Array.from( editor.ui.componentFactory.names() );

应该给我一个工具栏项目的列表,这样我就可以验证我有我需要的东西。我更新为使用我正在使用的编辑器的名称,所以:

Array.from( ClassicEditor.ui.componentFactory.names() );

由于 ClassicEditor 中没有“ui”而失败...我在这里缺少什么?

第二 - 现在我已经安装了插件,并重建了 ckeditor.js,我正在尝试确保将这些新内容添加到我现有的 React 项目中 - 那里有一个 public/ckeditor 目录。我假设我应该从“ckeditor5-build-classic/build/”目录中获取 ckeditor.js,并将其放入 public/ckeditor。但是我在哪里可以获得实际的插件? ckeditor5-build-classic/node_modules/@ckeditor 中似乎有一个集合,但这似乎不起作用。想法?

【问题讨论】:

    标签: javascript reactjs ckeditor


    【解决方案1】:

    我在几个地方见过这样的:

    Array.from(editor.ui.componentFactory.names()); 应该给我一个工具栏项目的列表,这样我就可以验证我有我需要的东西。

    我更新为使用我正在使用的编辑器的名称,所以:

    Array.from(ClassicEditor.ui.componentFactory.names());

    ClassicEditor 是一个类,而不是一个实例。

    你必须这样做:

    ClassicEditor.create( el, config ).then( editor => {
        console.log( Array.from( editor.ui.componentFactory.names() ) );
    } );
    

    获取所有可用的工具栏按钮。

    第二 - 现在我已经安装了插件,并重建了 ckeditor.js,我正在尝试确保将这些新内容添加到我现有的 React 项目中 - 那里有一个 public/ckeditor 目录。我假设我应该从“ckeditor5-build-classic/build/”目录中获取 ckeditor.js,并将其放入 public/ckeditor。但是我在哪里可以获得实际的插件? ckeditor5-build-classic/node_modules/@ckeditor 中似乎有一个集合,但这似乎不起作用。思想

    当您在 React 组件之外构建编辑器时,您需要的所有插件都应该捆绑到构建中,因此您只需将构建的编辑器复制到 React 项目。它被描述为here

    【讨论】:

    • 谢谢 - 第一部分工作,虽然我不得不将“create(el, config)”更改为“create({})”。第二部分比较棘手,但我正在解决它。再次感谢
    猜你喜欢
    • 1970-01-01
    • 2022-10-24
    • 2019-02-28
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 2014-09-22
    • 2020-02-26
    相关资源
    最近更新 更多