Контекст
Я пытаюсь переместить ресурсы в нашем приложении в веб-пакет, используя гем Webpacker.Приложение очень большое, поэтому мне нужно сделать это частично.
Что до сих пор ...
Мне удалось вызвать скрипт, используя javascript_pack_tag
Iэкспортировать супер простой модуль:
# javascript/src/javascript/test.js'
const Direction = {
log_to_console: function(){
console.log('test');
}
};
export default Direction;
Затем импортировать его в точку входа приложения
# javascript/packs/application.js
import Test from '../src/javascript/test.js'
Test.log_to_console();
Наконец, отобразить его в макете:
# app/views/application.slim
= javascript_include_tag 'application'
Результатэто: «Тестовая» строка, видимая в консоли браузера.
Проблема
В настоящее время во всем приложении мы используем Модули в представлениях, подобных этому:
# app/views/assets/javascripts/test.coffee
log_to_console = ->
console.log('test');
@Test = { log_to_console }
# app/views/some/template.slim
javascript:
Test.log_to_console()
Но послеперемещение модуля в веб-пакет Я больше не могу получить доступ к модулю Test
.
Поэтому мой вопрос:
Как настроить webpacker
gem ИЛИ изменить код, указанный выше, чтобы сделать log_to_console()
метод доступен в представлении / браузер инспектор?
В идеале было бы, если бы мы могли также обращаться к ним в старых файлах javascript, скомпилированных с помощью звездочек.