我正在尝试将插件添加到CKEditor5的经典版本中。我已按照此页面上的说明进行操作:https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html
我可以说我做的一切都正确,因为打开sample/index.html
时一切正常。
现在是时候将这个自定义构建与我的react应用集成在一起了。
this page上的说明“描述”了做什么:
您将在项目旁边的某个位置创建一个新版本,并包括 就像您包含了其中一个现有版本一样。
它说“像您将其包含在现有版本之一中一样包含它”。好吧,这就是我包括经典构建的方式:
import React from "react";
import ReactDOM from "react-dom";
import CKEditor from "@ckeditor/ckeditor5-react";
import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
import "./styles.css";
function App() {
return (
<div className="App">
<CKEditor
editor={ClassicEditor}
// Other Props
}}
/>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
所以,我认为我会做这样的事情:
import React from "react";
import ReactDOM from "react-dom";
import CKEditor from "@ckeditor/ckeditor5-react";
import ClassicEditor from './ckeditor/ckeditor'
import "./styles.css";
function App() {
return (
<div className="App">
<CKEditor
editor={ClassicEditor}
// Other Props
/>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
也就是说,只需将import
语句更改为:
import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
到
import ClassicEditor from './ckeditor/ckeditor'
在我的自定义版本的修改版本的./ckeditor/ckeditor/
文件夹中找到ckeditor.js
是build
文件。
但是,这不起作用。新的ckeditor.js文件中没有导出。既不是默认导出也不是命名导出。所以也许我应该像这样导入文件:
import './ckeditor/ckeditor'
但是我该如何告诉React组件使用哪个编辑器。有一个editor
道具,它带有要使用的编辑器的名称-即:
<CKEditor
editor={ClassicEditor}
// Other Props
/>
所以我被困住了。我不知道如何将自定义版本包含到我的react应用中。
有什么想法吗?
谢谢。
答案 0 :(得分:0)
CKEditor团队帮助我解决了这个问题。您可以在此处阅读解决方案:https://github.com/ckeditor/ckeditor5/issues/2072#issuecomment-534987536
主要要点是,我需要将自定义版本作为npm软件包发布,将其安装在我的网站上,然后导入已安装的软件包。
一旦我这样做,一切都会很好。
答案 1 :(得分:0)
忘记你对 npm 包的了解,然后阅读这篇
自定义 CK5 编辑器的步骤
$ npm build
这不是直截了当的,充其量也没有关于它的文档。我的痛苦就是你的收获<3
额外
在线构建工具让你下载一个 .zip 文件,我所做的是用 zip 文件覆盖了我的分叉项目文件。我构建、上传等。请注意工具栏的配置在 sample/index.html 中,如果您不添加它,那么您将不会看到您的工具栏。
记得一定要添加工具栏配置!
** 编辑 **
如果您在团队中工作,您会希望使用顶部的版本。
npm install
ckeditor.js
以包含来自 sample/index.html
的配置(我将所有内容都放在我的 Editor.defaultConfig
中)npm build
import ClassicEditor from './online-build/build/ckeditor';
npm build
如果一切正常,但您没有工具栏,那么您需要重新检查您的配置设置。
干杯!
** 编辑 **
我想添加似乎不太受支持的“源代码编辑”插件。我所做的是手动从 source-editing code 中获取 ckeditor5 main git(所有插件都列在底部)然后将该代码粘贴到我的项目中并从该文件夹导入。这很漂亮,不适合团队但它有效 - 祝你好运
import SourceEditing from './ckeditor5-source-editing/src/sourceediting.js';