Как установить Quill dev 2.0 с помощью NPM, Webpacker и Rails?

#ruby-on-rails #npm #webpack #quill

#ruby-on-rails #npm #webpack #quill

Вопрос:

Возникли проблемы с получением Quilljs Dev 2.0 для работы с моим проектом rails. Ванильный Quilljs работает просто отлично, но когда я устанавливаю quill-2.0-dev через npm и импортирую его в Webpacker, я получаю неожиданный токен ‘!’

Ошибки в консоли:

введите описание изображения здесь
введите описание изображения здесь

app/javascript/packs/quill-editor.js

 import Quill from 'quill-2.0-dev'
export default Quill;

window.onload = () => {

const quill = new Quill('#editor', {
    modules: {
        toolbar: {
            container: '#toolbar'
        }
    },
    placeholder: 'Compose a document...',
    theme: 'snow'
});
};
  

package.json

   "dependencies": {
"@babel/core": "^7.11.1",
"@client-side-validations/client-side-validations": "^0.1.4",
"@rails/actioncable": "^6.0.0-alpha",
"@rails/activestorage": "^6.0.0-alpha",
"@rails/ujs": "^6.0.2-1",
"@rails/webpacker": "^4.0.7",
"boxicons": "^2.0.4",
"i": "^0.3.6",
"jquery": "^3.4.1",
"npm": "^6.14.8",
"quill-2.0-dev": "^2.0.0-dev.3",
"quill-blot-formatter": "^1.0.5",
"quill-emoji": "^0.1.7",
"turbolinks": "^5.2.0"
  

},

Обновить

Когда я пытаюсь это сделать с ключевым словом require:

 const Quill = require('quill-2.0-dev');
  

Я получаю эту ошибку:
введите описание изображения здесь

но, как вы можете видеть, это в моем package.json (выше)

Ответ №1:

Выполните этот шаг, это может помочь

 # Add package from yarn
yarn add quill-2.0-dev

# Import module in app/javascript/packs/application.js 

import Quill from 'quill-2.0-dev/core'
import Toolbar from 'quill-2.0-dev/modules/toolbar'
import Snow from 'quill-2.0-dev/themes/snow';
import Bold from 'quill-2.0-dev/formats/bold';
import Italic from 'quill-2.0-dev/formats/italic';
import Header from 'quill-2.0-dev/formats/header';

Quill.register({
  'modules/toolbar': Toolbar,
  'themes/snow': Snow,
  'formats/bold': Bold,
  'formats/italic': Italic,
  'formats/header': Header
});

# Init

window.onload = function() {
  var editor = new Quill('#editor', {
    modules: { toolbar: '#toolbar' },
    theme: 'snow'
  });
}

# In view

<div id="toolbar">
  <button class="ql-bold">Bold</button>
  <button class="ql-italic">Italic</button>
</div>

<!-- Create the editor container -->
<div id="editor">
  <p>Hello World!</p>
</div>

  

Загружаю документы

Комментарии:

1. Спасибо за ваш ответ. Я попробовал ваше предложение, однако теперь у меня появляются неработающие значки на панели инструментов. Скриншот: imgur.com/a/ePuOiyC

2. @Seth Да, я вижу, использование версии 2.0-dev является вашим требованием?

3. Версия 2.0-стиль разработки еще не скомпилирован, поэтому мы не можем его импортировать, или, возможно, мы запустили компиляцию самостоятельно

4. Использование этой версии не является обязательным, но моему клиенту нужны таблицы, доступные только в версии 2.0 dev. На данный момент я перехожу к Summernote, в который встроены таблицы.