@BAS-Viet-Nam благодарю вас! Вы супер!
bug: BAS не понимает зависимости, которые нужны для кастомного модуля
-
Входные данные:
- есть кастомный модуль, в одном из функции которого используется кубик Solve Recaptcha 2.0 и функции работы со строками.
- есть скрипт, который вызывает эту функцию из кастомного модуля.
Баг 1:
При редактировании скрипта в BAS, который вызывает функцию кастомного модуля, BAS постоянно добавляет модуль Solve Recaptcha 2.0 в UnusedModules после сохранение.
<UnusedModules>ClickCaptcha;JSON;ReCaptcha;URL;PhoneVerification;InMail;Path;String</UnusedModules>Получаю, что скрипт в режиме запуска не работает, так как падает с ошибкой "ReferenceError: Can't find variable: BAS_SolveRecaptcha". Что ожидаемое поведение,так как модуль Solve Recaptcha 2.0 в скрипте выключен.
Решение(обходной путь):
Нужно создать функцию в скрипте, которая не используется, с кубиком Solve Recaptcha 2.0. Тогда BAS перестает добавлять модуль Solve Recaptcha 2.0 в список UnusedModules.Баг 2
После реализации обходного пути, что я описал выше, в режиме запуска получаю ошибку "Thread ended with message "ReferenceError: Can't find variable: _find_substring during execution of action ".
Решение аналогично выше описанному.Скриншот функции-заглушки в скрипте, что использует кастомный модуль:

Подозреваю, что я решил не все проблемы, потому что наблюдаю разное поведение:
- вызов функции в самом скрипте кастомного модуля дает один результат
- вызов функции снаружи из другого скрипта дает другой
Вероятно, проблему можно решить отредактировав файл manifest.json модуля, чтобы добавить туда вручную зависимости, но я не знаю как.
Модуль создается с помощью встроенного генератора, который, вероятно, и должен это делать, но не делает.Вручную управлять зависимостями очень плохая идея, так как я понятия не имею, какие модули отключены по умолчанию, если они не используются в скрипте.
Если с модулем Solve Recaptcha 2.0, это можно было предусмотреть, то в случае с встроенным стандартным модулем работы со строками, маловероятно.Цитата из manifest.json:
"depends": [ ], <== как добавить сюда нужные мне два модуля?Прошу помощи, @m4zuper.
-
@DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Сталкивался с этим просто добавляя функции в скрипт
Да, я тоже так сделал, о чем и написал выше.
@DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Я думаю быстрее ответят в сапорте, должно быть предусмотрено что то
Я редко пишу в суппорт. Да и на этом форуме есть человек из команды BAS, кто баги разбирает.
Если я напишу письмо, то ему мой тикет и попадет в issue. -
@DrPrime said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
@sergerdn Если этот человек не знает в тикете - он перенаправит разрабу. Если знает - ответит. С форума он разрабу не отправит)
Есть вероятность, что это у меня кривые руки, а не у BAS. Не хочу дергать лишний раз разработчика, так как у него и так дел полно, я думаю.
-
@sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Да и на этом форуме есть человек из команды BAS, кто баги разбирает.
На сколько я знаю это не считается багом, просто модули не поддерживают зависимости. В лайфхаках где-то есть костыль
-
@UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
На сколько я знаю это не считается багом
Да, понимаю, что есть баги, а есть "баго-фичи".
Подумаешь, дерево зависимостей не умеет строить, да и фиг с ним.
Особенно весело, когда скрипт зависит от модуля(там свои зависимости), модуль зависит от трех других модулей, они зависят от .... Ну и так далее.
Возвращаемся в каменный век и следим за деревом зависимостей сами. 😡
-
@sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Да, понимаю, что есть баги, а есть "баго-фичи".
Подумаешь, дерево зависимостей не умеет строить, дай и фиг с ним.
Что еще за баго фичи. Очень странная логика, если что-то работает не так как вам хочется или так как вы привыкли в какой-то другой среде то это не является багом. Баг это когда заявлено, но не работает так описано. Вы постоянно проецируете опыт каких-то ЯП на БАС, но БАС это БАС только сами себе жизнь усложняете.
-
@UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Вы постоянно проецируете опыт каких-то ЯП на БАС
Вероятно, когда ориентируешься на привычное и удобное, это не так плохо.
Если водишь машину 10 лет, а потом пересаживаешься за другое транспортное средство и там квадратный руль, это вызывает как минимум удивление.@UserTrue said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Баг это когда заявлено, но не работает так описано.
Вопрос терминологии, я про скорее неожиданное поведение.
P.S.
Совсем далеко от темы ушли, я запросил в конце своего первого поста, как можно в manifest.json добавить вручную зависимости и написал, что я не знаю как. -
@GhostZ said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
@sergerdn, это не баг, на данный момент модульная система BAS не поддерживает зависимости, такого функционала просто нет, обходной способ я выкалывал тут
Спасибо, уже смотрю.
-
@sergerdn said in bug: BAS не понимает зависимости, которые нужны для кастомного модуля:
Вероятно, когда ориентируешься на привычное и удобное, это не так плохо.
Если водишь машину 10 лет, а потом пересаживаешься за другое транспортное средство и там квадратный руль, это вызывает как минимум удивление.Это плохо, это искаженно восприятие действительности.