Трансфилна дезактивация на RooMOS
list-menuОбратна връзка?
Актуализирахме нашия JavaScript двигател, за да използваме QuickJS, който служи като модерно, актуализирано време на изпълнение на JavaScript за вградени системи. Като част от този ход сега планираме да премахнем поддръжката за транспилация на JavaScript в нашата платформа.

Промени в кода на JavaScript в макросите RooMOS

Актуализирахме машините, работещи с макросите на RooMOS, и в резултат на тези актуализации някои конвенции и функции на JavaScript вече няма да бъдат достъпни за макросите. По-специално, функциите, свързани с CommonJS, вече не са налични. Някои често срещани примери за код, който се нуждае от пренаписване, са:

  1. require(), включително:
    • require('xapi')- се нуждае от пренаписване към стандартния EC importMAScript. Напр., const xapi = require('xapi')променено на import xapi from 'xapi'
    • require.main
  2. module, включително:
    • module.exports- се нуждае от пренаписване към стандартния ECMAScript export
    • module.name- трябва да бъде заменен с _main_module_name()

Как се включва и изключва това?

Тези промени влизат в сила, след като xConfiguration Macros EvaluateTranspiledбъдат превключени от Trueкъм False. Тази настройка присъства от дълго време и промяната се осъществява чрез промяна на стойността по подразбиране в новите версии от Trueдо False.

Ако макросите се счупят при тази промяна, изричното задаване на превключвателя назад (xConfiguration Macros EvaluateTranspiled: True) е краткосрочна корекция, която да ги накара да работят както преди. Имайте предвид обаче, че това е само временно решение: Този превключвател ще изчезне след преходен период.

По същия начин при по-старите версии на RooMOS тази промяна може да бъде тествана без надграждане чрез задаване на превключвателя на. False

За бележка: Ако макросът е запазен на устройството True, докато е превключвател ят Falseи по-късно решите да го върнете обратно, може да се наложи повторно запазване на тези макроси в редактора на макроси.

Кога тези промени ще влязат в сила?

Стойността по подразбиране на превключвателя EvaluateTranspiledбеше променена на Falseстартираща с RooMOS май 2025 г. (11.28), което означава, че устройствата ще се превключват по подразбиране при надграждане. В същата версия стъпката на транспилация при запазване на макроси чрез XAPI се изключва по подразбиране. Ако се изисква транспилация чрез XAPI, опцията за команда transpile трябва да бъде изрично зададена на true.

Започвайки с RooMOS юли 2025 г. (11.30) диагнозата ще се покаже, когато превключвателят е настроен на. True Все още ще работи както преди.

Продължавайки напред, превключвателят ще бъде премахнат напълно и устройството ще се държи така, сякаш е настроено на False. Ние се стремим да въведем тази промяна в RooMOS ноември 2026 г. (27.0).

Всеки клиент, който въпреки усилията ни в опит да уведомяваме и информираме за промените, видят, че макросите им се провалят, когато промените са постоянно в RooMOS, все още могат да използват (до) 6-месечната забавена актуализация на софтуера, която се предоставя чрез Control Hub за регистрирани в облака устройства, за да забавят промяната.

Защо това е необходимо? Технически детайли

Основният драйвер за тази промяна е, че актуализирахме нашия JavaScript двигател, за да използваме QuickJS, който служи като модерно, актуализирано време на изпълнение на JavaScript за вградени системи. След това, тъй като вече не е необходим с модерен JavaScript двигател, сега премахваме поддръжката за транспилация на JavaScript. Премахването на допълнителната стъпка за прехвърляне на целия код намалява времето за зареждане при внедряване и изпълнение на код, както и намалява сложността в платформата.

Превключвателят на двигателя JavaScript се управлява от xConfiguration Macros QuickJSEngine: Offпроменен на On. Тази промяна беше въведена в RooMOS декември 2023 г. (11.11) и планираме да премахнем този превключвател за конфигурация на същата времева линия като. EvaluateTranspiled

Правим тези промени, за да гарантираме, че RooMOS се представя максимално и че можем да ви помогнем да мащабирате внедряването на разширенията на JavaScript по ефективен и сигурен начин.

Прочетете повече за макросите на roomos.cisco.com.

Беше ли полезна тази статия?
Беше ли полезна тази статия?