Я пытаюсь импортировать / использовать пользовательскую сборку CKEditor5 в моем приложении React. Я создал приложение с помощью create-Reaction-app (приложение также извлекается) и хотел использовать CKEditor с плагином Word Count, и вот где я застрял.
Официальную документацию можно найти здесь: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/react.html
Поэтому я пытался использовать @ ckeditor / ckeditor5-реагировать так:
import CKEditor from "@ckeditor/ckeditor5-react";
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';
import WordCount from "@ckeditor/ckeditor5-word-count/src/wordcount";
Но затем я получил ошибку https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error -ckeditor-duplicated- модули . По сути, это означает, что я не могу использовать плагин WordCount непосредственно в приложении, но мне нужно создать свою собственную сборку с включенным этим плагином.
Итак, я пытаюсь достичь:
import CKEditor from "@ckeditor/ckeditor5-react";
import CustomBuildEditor from 'ckeditor5-custom-build';
Официальная документация гласит, что есть два основных способа сделать это.
Я попытался создать собственную сборку, но теперь у меня есть пользовательская сборка, которая выглядит следующим образом:
/build
/translations
ckeditor.js - Compiled file for using in app
ckeditor.js.map
/sample
index.html
styles.css
/src
ckeditor.js - File to modify custom build
LICENSE.md
package.json
README.md
webpack.config.js
Но я не смог импортировать и использовать его в моем приложении React. Webpack пытается скомпилировать его снова, что приводит к большему количеству ошибок при использовании в папке sr c моего приложения.
Вот структура папок моего приложения:
/src
TestComponent.js - file where I want to use my custom build
index.js - main React app file
/vendor
/ckeditor-custom-build
Вот что я мы уже пробовали:
Я попытался импортировать его из папки sr c, которая запускает компиляцию webpack и поэтому заканчивается сообщениями об ошибках (поскольку файл уже скомпилирован)
Я попытался создать символическую ссылку на node_modules и создать локальный пакет с файлом добавления пряжи: / ... Но потом я понял, что и другим членам команды нужен этот модуль, так что это не заставит их всех делать свои собственные symlink?
Я также попытался удалить ModuleScopePlugin, чтобы разрешить относительный импорт из-за пределов папки sr c, но это также привело к множеству ошибок
Я следовал этому руководству (https://github.com/ckeditor/ckeditor5/issues/2072#issuecomment -534987536 ), но я не смог получить свою собственную сборку под node_modules. Также, если возможно, я не хочу помещать мою sh мою собственную сборку в Github и использовать ее как NPM модуль в моем проекте. Просто кажется, что слишком много работы для одного файла, и если я добавлю больше пользовательских библиотек в будущем, я бы хотел, чтобы они были в папке проекта (например, вендор, в проекте root).
Я попытался добавить еще один абсолютный путь импорта к разрешению веб-пакета, но получил ошибку Модуль не найден, как в паре других решений, которые я пробовал.
Итак, я спрашиваю вас, как я могу импортировать одну библиотеку без Webpack, пытаясь скомпилировать ее снова и найти ее при использовании простого import CustomLibrary from 'custom-library'
.
Может быть, я что-то упустил, может быть Я просто слишком устал, чтобы думать, но мне действительно нужно, чтобы это сработало.