@sergerdn
Всё решил проблему нет в path пути к node
Особенности работы Node.js
-
Привет всем.
Создаю 2 действия Node.js
1let s = await require("../tstlib"); await s.tst1();2
let s = await require("../tstlib"); await s.tst2(); await console.log(await s.tst2()); await console.log(await s.tst3());И создаю файл в любом из этих действи Node.js в левой части редактора кода функцией "Добавить новый файл" с именем tstlib. Получается что-то типа модуля JS его текст:
exports.tst1 = async function () { await console.log("+++++++ tst1 +++++++"); } exports.tst2 = async function () { await console.log("+++++++ tst2 +++++++"); return "+++++++ return tst2 +++++++"; } exports.tst3 = async function () { return "+++++++ tst3 +++++++"; }В результате выполнения получается лог:
[394149317] [19:20:04] Поток №1 : +++++++ tst1 +++++++ [70541593] [19:20:04] Поток №1 : +++++++ return tst2 +++++++ [70541593] [19:20:04] Поток №1 : +++++++ tst3 +++++++Скрипт успешно завершается. В результате видим что вызов функции console.log("+++++++ tst2 +++++++") не срабатывает.
Я сделал пока такой вывод, что, если действие Node.js подключает файл/модуль-js и запускает require("../tstlib")
То во всех последующих действиях Node.js перестают работать все вызовы BAS_API() и console.log() прописанные в ранее подключенном модуле.Вопрос:
Может можно как-нибудь заставить работать BAS_API() и console.log() прописанные в модуле и вызывемые в последующих действиях Node.js?Такое поведение по сути не позволяет полноценно повторно использовать код модуля-js.
-
@Dmitry33 Пока решил всю логику писать в одно действие Node.js.
В результате BAS-скрипт состоит из одного действия )Кроме вышеописанной проблемы это решает проблему видимости переменных BAS из повторно подключенного файла/модуля-js ( переменные которые в квадратных скобках [[]] )
-
А зачем await перед console.log? Это действие нынче асинхронное что ли?
-
@Oyasumi-Punpun Не знаю асинхронное оно или нет.
Пробовал убирать await. Ничего не меняется.
И сейчас еще раз протестировал. Убираю await и ничего не меняется.