Path



  • Название: Path
    Версия: 1.0
    Данные: Path.zip
    Согласие на добавление модуля в BAS: Да
    Описание: Модуль для работы с путями. Перенос Windows реализации Node.js модуля Path в BAS без использования Node.js. Помимо действий модуль содержит объект _path, свойствами которого являются функции аналогичные функциям Node.js модуля.
    История версий:

    Скриншоты:
    71f6e1c6-c0bc-405e-a559-9267e127fabb-image.png


    Модуль является дополнением к модулю String и использует его функции, поэтому для корректной работы модуля Path также должен быть установлен модуль String



  • @GhostZ Сейчас в BAS есть отдельное действие "Путь к проекту", если этот модуль будет в релизе, заменит ли его аналогичное действие из этого модуля? Иногда из пути нужно спарсить другой путь на одну или две ступени меньше, можно ли при помощи этого модуля сделать такое?



  • @spacerange said in Path:

    @GhostZ Сейчас в BAS есть отдельное действие "Путь к проекту", если этот модуль будет в релизе, заменит ли его аналогичное действие из этого модуля?

    Если модуль будет в релизе, то действие "Путь к проекту" будет перенесено в модуль, по аналогии с действиями в модуле String

    @spacerange said in Path:

    Иногда из пути нужно спарсить другой путь на одну или две ступени меньше, можно ли при помощи этого модуля сделать такое?

    Да, действие "Получить директорию пути" в цикле.



  • @spacerange said in Path:

    Иногда из пути нужно спарсить другой путь на одну или две ступени меньше

    Имхо проще так, -1 на уровень ниже, -2 на два и тд

    'c:/sadsa/dsadsa/asddd'.split('/').slice(0,-1).join('/') // "c:/sadsa/dsadsa"
    

    Ну или можно такое добавить в данный модуль



  • @GhostZ И ещё вопрос один, немного не по теме. Сейчас при использовании модулей на Node JS, BAS при каждом включении режима записи довольно долго инициализирует запуск Node JS. На SSD запуск режима записи замедляется на секунд 5 - 10. Есть ли в планах какое нибудь улучшение в этом плане? Что - то типа инициализировать Node JS один раз для всего BAS вместо каждого скрипта.



  • @UserTrue said in Path:

    Имхо проще так, -1 на уровень ниже, -2 на два и тд

    Да это я знаю, тут как раз вопрос в том чтобы минимизировать использование кода и регулярок.



  • @spacerange, не знаю, попробуйте просто отключить модули использующие Node.js и неиспользуемые в проекте.



  • @spacerange said in Path:

    @UserTrue said in Path:

    Имхо проще так, -1 на уровень ниже, -2 на два и тд

    Да это я знаю, тут как раз вопрос в том чтобы минимизировать использование кода и регулярок.

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



  • @GhostZ said in Path:

    @spacerange, не знаю, попробуйте просто отключить модули использующие Node.js и неиспользуемые в проекте.

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



  • @spacerange, @UserTrue, вспомнил можно же использовать действие "Нормализовать путь", просто к нужному пути добавить /.. столько раз на сколько ступеней нужно спустится
    6e0efb87-0084-4db3-9056-163ddf2f8e76-image.png
    7827e6c7-b2d8-458b-ada7-27f86290a57e-image.png



  • @GhostZ Вещь необходимая. У меня в каждом проекте первая функция идет это создание [[FILEINFO_BASE_DIRECTORY]] путь к папке проекта

    Такие вещи (модуль String в том числе) нужно обязательно включать в основную сборку, т.к. без этого никуда, этим постоянно пользуешься. Тут городить костыли, как я, или иметь уже по умолчанию этот функционал



  • @GhostZ said in Path:

    @spacerange, не знаю, попробуйте просто отключить модули использующие Node.js и неиспользуемые в проекте.

    Возможно стоит намекнуть @support, что для модулей бас стоит использовать отдельную директорию. Это снимет проблему и вообще может избежать конфиликтов с пользовательским кодом.



  • @GhostZ said in Path:

    @spacerange, @UserTrue, вспомнил можно же использовать действие "Нормализовать путь", просто к нужному пути добавить /.. столько раз на сколько ступеней нужно спустится
    6e0efb87-0084-4db3-9056-163ddf2f8e76-image.png
    7827e6c7-b2d8-458b-ada7-27f86290a57e-image.png

    Или действие "Объединить пути"

    df8a66dd-118a-46b0-a30f-2c9fc57b383c-image.png
    482bce62-9a02-4ee0-92ac-3a96f2ccf732-image.png


    Пофиксил добавление лишнего слеша в действии "Объединить пути"



  • Модуль крашит БАС. Имеем проект: Tests.xml. Результат выполнения в режиме записи:
    BrowserAutomationStudio_mi42xZccbl.png
    А вот что происходит в запуске:
    BrowserAutomationStudio_HKzuGq7CiR.png

    И это ещё щадящий результат. При использовании комбинация действий, которые в начале тестового проекта, в моём реальном проекте, при запуске БАС тупо крашился, не выдавая ни результата, ничего другого. Версия БАС: 24.0.8



  • @DoctorKrolic, @GhostZ said in Path:

    Модуль является дополнением к модулю String и использует его функции, поэтому для корректной работы модуля Path также должен быть установлен модуль String



  • @GhostZ Так String по дефолту в 24+ версиях есть. Перепроверил - да, он есть и включен



    • в записи всё работает нормально


  • @DoctorKrolic, в BAS на данный момент используется другая версия модуля строка, нужно либо установить этот модуль, либо в проекте где используется модуль путь использовать любое действие модуля строка.



  • @GhostZ said in Path:

    использовать любое действие модуля строка

    А как это работает, если не секрет. Новая версия с сервера подтянется, или как?



  • @DoctorKrolic, вот так tests.xml, модуль строка не устанавливается если не используется, в будущем общие функции будут вынесены в отдельный модуль и таких проблем не будет.


Log in to reply
 

  • 49
  • 188
  • 34
  • 66
  • 118
  • 13
  • 19
  • 83