Я использую Duktape во встроенном MCU. Для тестового примера у меня есть: main. js file:
(function(){
test();
})();
test. js file:
(function test(){
print("func");
})
Оба скомпилированы как глобальный код по умолчанию и main. js выполняется с помощью duk_call (ctx, 0);
Проблема в том, что он выдает ошибку при вызове функции test ().
Я также пробовал использовать только
function test() {
print("test");
}
в тесте. js код, но он тоже не работает.
Насколько я понимаю, оба файла имеют отдельный контекст выполнения. Вот почему функция недоступна.
Но как правильно разделить код на несколько файлов для Duktape?
PS Я стараюсь избегать использования глобального контекста, потому что в документации сказано этот способ доступа к переменным медленный, поэтому main. js выглядит именно так.
PPS Я уверен, что функция test () недоступна, но я не знаю, как написать js код, чтобы все работало.
PPPS print () - это функция C, которая выводит на последовательный порт esp32 и работает. даже main. js работает без вызова функции test ().