CKEditor 5: сбой добавления функции таблицы в классическую сборку

Я использую CKEditor 5, классический редактор, я хочу добавить функцию таблицы на панель инструментов, я использую веб-пакет для управления зависимостями, вот мой код:

   import ClassicEditor from "@ckeditor/ckeditor5-build-classic/build/ckeditor";   
   import Table from '@ckeditor/ckeditor5-table/src/table';
   import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar';


   $('.ckEditorArea').each(function () {

   ClassicEditor
        .create(this, {
            plugins: [ Table, TableToolbar ],
            toolbar: ['insertTable' ],
            table: {
                toolbar: [ 'tableColumn', 'tableRow', 'mergeTableCells' ]
            }
        } )
        .then( editor => {
            console.log( 'Editor was initialized', editor );
        } )
        .catch( error => {
            console.error( error.stack );
        } );
  )};

Я добавил пакет с:

    npm install --save @ckeditor/ckeditor5-table

затем я перестраиваю свой проект:

npm run build

У меня такая ошибка в консоли навигатора:

add-test.3649361ad73210f1e631.js:71541 TypeError: Cannot read property 'getAttribute' of null
at IconView._updateXMLContent (add-test.3649361ad73210f1e631.js:46548)
at IconView.render (add-test.3649361ad73210f1e631.js:46524)
at IconView.on (add-test.3649361ad73210f1e631.js:62581)
at IconView.fire (add-test.3649361ad73210f1e631.js:57769)
at IconView.(anonymous function) [as render] (http://localhost:9027/build/js/add-edit/add-test.3649361ad73210f1e631.js:62585:16)
at ViewCollection.on (add-test.3649361ad73210f1e631.js:21922)
at ViewCollection.fire (add-test.3649361ad73210f1e631.js:57769)
at ViewCollection.add (add-test.3649361ad73210f1e631.js:514)
at DropdownButtonView.render (add-test.3649361ad73210f1e631.js:45244)
at DropdownButtonView.render (add-test.3649361ad73210f1e631.js:61776)

и это когда я выполняю команду

npm run build

Результат:

error

js/add-test.9ba3edd31c9f973445cd.js from UglifyJs
Unexpected token: name (i) [js/add-test.9ba3edd31c9f973445cd.js:380,14

person nourhein chaieb    schedule 31.07.2018    source источник


Ответы (1)


  1. Вы не должны добавлять плагины в существующую сборку. Вы можете добавлять плагины только в исходный редактор (имейте в виду разницу @ckeditor/ckeditor5-build-classic и @ckeditor/ckeditor5-editor-classic). См. раздел Установка подключаемых модулей и очень похожий вопрос, заданный недавно: : Как заставить работать таблицы?
  2. Ваша установка, похоже, использует старую версию UglifyJS, которая может только минимизировать ES5. CKEditor 5 встроен в ES6 и требует ES6-совместимого минификатора или переноса исходного кода в ES5 через Babel. Если бы вы использовали webpack 4+ и его встроенный «производственный режим», который использует uglifyjs-webpack-plugin, все было бы хорошо из коробки, потому что этот плагин использует совместимую с ES6 версию UglifyJS. Дополнительную информацию об этом можно найти в Кратком старте CKEditor 5 Framework. руководство. Но в целом проблема не возникнет, если вы будете следовать Установка плагинов.
person Reinmar    schedule 16.08.2018