Desti Опубликовано 29 января, 2019 Поделиться Опубликовано 29 января, 2019 Может кто сталкивался? Создал приложение простенькое, виджет по смыслу, в нем есть небольшой js на десяток строк. Всё слепил, скомпилировал в dev mode всё, что нужно, выгружаю в файлик, загружаю на продакшн, нормально загружается, пишет про загрузку и установку js, все работает, кроме js, его как-бы нет без сообщений об ошибке. Забрасываю папку dev на продакшн, делаю приложению Build JS, всё начинает работать. Обновляю кеши или ставлю еще какой-нить мод, все перестает работать, пока снова не сделаешь Build JS для этого приложения. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 29 января, 2019 Поделиться Опубликовано 29 января, 2019 В консоли JS ошибок можно посмотреть причину проблемы. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Dmitriy427 Опубликовано 29 января, 2019 Поделиться Опубликовано 29 января, 2019 Яваскрипт в шаблонах IPS4 удаляется парсером движка. При написании плагина создавайте файл /plugins/my_plugin/dev/js/my_plugin.js Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 29 января, 2019 Поделиться Опубликовано 29 января, 2019 При разработке дев режим не даст соранить файл с кастомным js скриптом Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 29 января, 2019 Автор Поделиться Опубликовано 29 января, 2019 Это не плагин, а приложение, в файлах шаблона никакого js-кода нет. Файл JS изначально создан в dev/js/(короче там, где надо) , в готовом приложении он живет в /data/javascript.json, как и положено. После инстала приложения код попадает в core_javascript, но не создается директория uploads/javascript_appname. А вот после rebuild JS для этого приложения создается, но перестает быть актуальной после обновления кеша. 14 минут назад, Respected сказал: В консоли JS ошибок можно посмотреть причину проблемы. Нет ничего в консоли, это и странно. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 30 января, 2019 Автор Поделиться Опубликовано 30 января, 2019 Разобрался. Забыл указать в init() виджета \IPS\Output::i()->jsFiles = array_merge(\IPS\Output::i()->jsFiles, \IPS\Output::i()->js('front_widgets.js', 'app_name')) Без этой строчки ничего не заработает. Директория javascript_appname не создается при установке приложения из tar, а создается/регенерируется (при необходимости) при запуске виджета, как раз этой строкой. Команда "compile JS" создает директорию javascript_appname с нужным файлом js, но она актуальна только до обновления структуры приложений. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.