Nodejs

Запросы функционала
  • @Fox

    использования глобальных переменных вообще.

    Можно взамен им использовать возможности кэширования модуля, но для большинства это сложнее.

  • А есть возможность выполнять скрипт из файла js
    чтобы читал файл и выполнял

    const fs = require("fs");
    
    let fileContent = fs.readFileSync("C:/index.txt", "utf8");
    eval(fileContent);
    

    такой код выдает ошибку если код содержит console.log или [[VARIABLE]] так же вроде еще некоторые коды

  • @GamiD said in Nodejs:

    такой код выдает ошибку если код содержит console.log или [[VARIABLE]] так же вроде еще некоторые коды

    Метод eval() выполняет JavaScript код, представленный строкой. Далеко не всё api BAS этот метод сможет выполнить.
    Для определения переменной BAS через eval() нужно записывать их с приставкой VAR_

    eval("VAR_HELLO = 'hello'")
    

    тестовый скрипт

  • @Fox да все верно так же там console.log пишется как BAS_CONSOLE_LOG примерно так а есть альтернатива eval чтоб обработал весь файл?

  • @GamiD said in Nodejs:

    @Fox да все верно так же там console.log пишется как BAS_CONSOLE_LOG примерно так

    console.log выводит информацию в node, а не в BAS. Что бы увидеть информацию в логе BAS и происходит замена

    а есть альтернатива eval чтоб обработал весь файл?

    В BAS нет готового метода, который выполнил бы код с api BAS представленный строкой. Самое близкое по смыслу:
    https://community.bablosoft.com/topic/10824/поддержка-javascript-правильно-добавить/15

  • @Fox said in Nodejs:

    В BAS нет готового метода, который выполнил бы код с api BAS представленный строкой. Самое близкое по смыслу:
    https://community.bablosoft.com/topic/10824/поддержка-javascript-правильно-добавить/15

    а есть возможность подключить файл js типо как модуль но чтоб при выполнение без перезапуска сессии выполнял код из js

  • @GamiD said in Nodejs:

    @Fox said in Nodejs:

    В BAS нет готового метода, который выполнил бы код с api BAS представленный строкой. Самое близкое по смыслу:
    https://community.bablosoft.com/topic/10824/поддержка-javascript-правильно-добавить/15

    а есть возможность подключить файл js типо как модуль но чтоб при выполнение без перезапуска сессии выполнял код из js

    Чегось?

  • @Fox например есть файл C:/index.js как мне выполнить содержимый код из этого файла в Node.js
    вот как на скриншоте только не встроенный файл а отдельный чтобы он не кешировался басом
    2444d3e9-7eb7-4e70-a89c-44a41275d417-image.png

  • @GamiD said in Nodejs:

    @Fox например есть файл C:/index.js как мне выполнить содержимый код из этого файла в Node.js
    вот как на скриншоте только не встроенный файл а отдельный чтобы он не кешировался басом

    Для выполнения кода с api BAS из файла я скидывал ссылку выше, для остального подойдёт простой eval(). Получайте строку любым удобным для вас способом и выполняйте его через eval().

  • @GamiD Мне кажется ты преувеличиваешь проблему ) Либо у тебя через раз кубик с нодой в скрипте и ты что-то методом тыка все время правишь, но это говорит о том, что ты что-то не так делаешь )

  • @UserTrue Возможно что то делаю не так но про кубики через раз ты попал в точку мне как раз это и нужно