TinyMCE с Rails 6 и webpacker - без иконок, турболыков - PullRequest
0 голосов
/ 30 мая 2020

Мы пытаемся обновить наше приложение до Rails 6 с помощью Webpacker (и Stimulus). Дела идут хорошо, кроме TinyMCE. У нас есть 2 проблемы, я задам им отдельные вопросы SO.

Мы установили TinyMCE, используя

yarn add tinymce

, и версия 5.3.0

в заголовке нашего контроллера стимулов у нас есть:

import tinymce from 'tinymce/tinymce';
import 'tinymce/themes/silver';
import 'tinymce/skins/ui/oxide/skin.min';
import 'tinymce/skins/ui/oxide/content.min';

import 'tinymce/plugins/paste';
import 'tinymce/plugins/link';

А затем в блоке контроллера connect мы имеем:

  connect() {
    console.log('gonna reload');
    require.context(
      '!file-loader?name=[path][name].[ext]&context=node_modules/tinymce&outputPath=js!tinymce/skins',
      true,
      /.*/
    );
    tinymce.init({
      selector: '.tinymce',
      plugins: ['paste', 'link'],
      skin: false
    });
  }

Это код, который по сути работает, за исключением того, что в консоли я вижу:

VM40 application-68201fac0dcbbcb543e0.js:213771 GET https://xxx.ngrok.io/packs/js/icons/default/icons.js net::ERR_ABORTED 404 (Not Found)
VM40 application-68201fac0dcbbcb543e0.js:224775 Failed to load icons: default from url https://xxx.ngrok.io/packs/js/icons/default/icons.js

Нужен ли нам еще один require.context для их загрузки?

1 Ответ

3 голосов
/ 11 июня 2020

Похоже, что TinyMCE больше не загружает значки динамически, поэтому Webpack должен быть проинструктирован включать их в пакет вручную. Добавление импорта значков после импорта tinymce сработало для меня:

import 'tinymce/icons/default';
...