Ссылка на файл CSS с версиями в моем app.js файл для Symfony

#symfony #webpack #tinymce

Вопрос:

Я использую TinyMCE в своем приложении Symfony, и мне нужно ссылаться на скомпилированный файл CSS в моем app.js файл.

Для TinyMCE эталонной командой является content_css : tinymcecss

Я попытался включить файл, как я делаю для иконографии, вот так:

 import plusicon from '../images/icons/plus.svg';
import tinymcecss from '../sass/email_styles.scss';
 

Однако ошибка, которую я получаю, заключается export 'default' (imported as 'tinymcecss') was not found in '../sass/email_styles.scss' (module has no exports) в следующем .

Как правильно ссылаться на скомпилированный файл CSS (из SASS) в моем app.js файл для Symfony?

Ответ №1:

Параметр content_css конфигурации ожидает URL (путь) к файлу CSS, а не имя переменной для чего — либо, входящего в комплект вашего приложения. Файл CSS затем загружается в iframe, который является TinyMCE, чтобы CSS влиял на содержимое, но не на страницу вашего приложения, которое встраивает TinyMCE.

Вы можете сделать что-то похожее на то, что вы пытались сделать, импортировав CSS, но вам нужно использовать content_style не content_css :

 /* Import content css */
 import contentUiCss from '../tinymce/js/tinymce/skins/ui/oxide/content.css';
 import contentCss from '../tinymce/js/tinymce/skins/content/default/content.css';

 /* Initialize TinyMCE */

    tinymce.init({
     selector: 'textarea#editor',
     plugins: 'advlist code emoticons link lists table',
     toolbar: 'bold italic | bullist numlist | link emoticons',
     skin: false,
     content_css: false,
     content_style: contentUiCss.toString()   'n'   contentCss.toString(),
   });
 

Пожалуйста, ознакомьтесь с документацией TinyMCE по использованию загрузчиков модулей для получения более подробной информации:

https://www.tiny.cloud/docs/advanced/usage-with-module-loaders/introduction_to_bundling_tinymce/

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

1. Итак, что произойдет, если выходной CSS-файл, который компилируется webpack и версируется при каждой компиляции? Как убедиться, что файл ссылается на правильную версию?

2. Если файл, который вы создаете, меняет имя каждый раз, когда вы его создаете, вам нужно либо (а) изменить инициализацию content_css в TinyMCE, либо использовать альтернативный подход content_style , поскольку вы больше не ссылаетесь на файл во время выполнения.