Как импортировать стороннюю не NPM библиотеку в приложение реакции - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь импортировать / использовать пользовательскую сборку 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'.

Может быть, я что-то упустил, может быть Я просто слишком устал, чтобы думать, но мне действительно нужно, чтобы это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...