Transpile zastarjeljenje na RoomOS-u
list-menuŽelite li poslati povratne informacije?
Ažurirali smo naš JavaScript motor kako bismo koristili QuickJS, koji služi kao moderno, ažurirano JavaScript runtime za ugrađene sustave. Kao dio ovog poteza, sada planiramo ukloniti podršku za transpilaciju JavaScripta na našoj platformi.

Promjene JavaScript koda u makroima RooMOS

Ažurirali smo strojeve koji pokreću makronaredbe na RoomOS-u, a kao rezultat tih ažuriranja neke JavaScript konvencije i funkcije više neće biti dostupne makronaredbi. Konkretno, funkcije povezane s CommonJS više nisu dostupne. Neki uobičajeni primjeri koda koji trebaju prepisivanje su:

  1. require(), uključujući:
    • require('xapi')- treba prepisati na standardni EC importMAScript. Npr., const xapi = require('xapi')promijenjeno u import xapi from 'xapi'
    • require.main
  2. module, uključujući:
    • module.exports- treba prepisati na standardni ECMAScript export
    • module.name- treba zamijeniti _main_module_name()

Kako se ovo uključuje i isključuje?

Ove promjene stupaju na snagu nakon xConfiguration Macros EvaluateTranspiledprebacivanja s Truena False. Ova je postavka prisutna već duže vrijeme, a promjena se provodi promjenom zadane vrijednosti u novim izdanjima od Truedo False.

Ako se makronaredbe prekinu na ovoj promjeni, eksplicitno postavljanje preklopa natrag (xConfiguration Macros EvaluateTranspiled: True) kratkoročno je ispravak kako bi radili kao i prije. Međutim, imajte na umu da je ovo samo privremeno rješenje: Ovaj prekidač će nestati nakon prijelaznog razdoblja.

Slično tome, na starijim verzijama RoOMosa ova se promjena može testirati bez nadogradnje postavljanjem prekidača na. False

Napomena: Ako se makronaredbi sprema na uređaj dok je prekidač Falsei kasnije odlučite vratiti prekidač True, možda će biti potrebno ponovno spremanje tih makronaredbi u uređivaču makronaredbi.

Kada će te promjene stupiti na snagu?

Zadana vrijednost prekidača promijenjena je u Falsepočevši od RoomOS svibnja 2025. (11.28), što znači da će se uređaji prema zadanim postavkama mijenjati kada se nadograđuju. EvaluateTranspiled U istoj verziji korak transpilacije prilikom spremanja makronaredbi putem XAPI-ja je prema zadanim postavkama isključen. Ako je potrebna transpilacija putem XAPI-ja, opcija naredbe transpile mora biti eksplicitno postavljena na true.

Počevši s RoomOS-om srpnja 2025. (11.30) dijagnostika će se prikazati kada je prekidač postavljen na. True I dalje će raditi kao i prije.

Idući naprijed, prekidač će se potpuno ukloniti i uređaj će se ponašati kao da je postavljen na False. Cilj nam je uvesti ovu promjenu u RoomOS studenom 2026. (27.0).

Svi korisnici koji, unatoč našim najvećim naporima u pokušaju obavijesti i informiranja o promjenama, vide da njihovi makronaredbi ne uspijevaju kada su promjene trajno uspostavljene u RoomOS-u, i dalje mogu koristiti (do) 6-mjesečno odgođeno ažuriranje softvera koje se pruža putem Control Hub za uređaje registrirane u oblaku kako bi odgodili promjenu.

Zašto je to potrebno? Tehnički detalji

Glavni pokretač ove promjene je taj što smo ažurirali naš JavaScript motor za korištenje QuickJS-a, koji služi kao moderno, ažurirano JavaScript runtime za ugrađene sustave. Nakon toga, budući da više nije potreban s modernim JavaScript motorom, sada uklanjamo podršku za transpilaciju JavaScripta. Uklanjanje dodatnog koraka prijenosa cijelog koda smanjuje vrijeme učitavanja prilikom postavljanja i izvršavanja koda, kao i smanjuje složenost na platformi.

Prekidač JavaScript motora kontrolira xConfiguration Macros QuickJSEngine: Offse promjenom u On. Ova je promjena uvedena u RoOMos-u prosincu 2023. (11.11), a planiramo ukloniti ovaj prekidač konfiguracije na istoj vremenskoj liniji kao. EvaluateTranspiled

Ove promjene radimo kako bismo osigurali maksimalnu izvedbu RoomOS i da vam možemo pomoći da na učinkovit i siguran način skalirate implementaciju JavaScript proširenja.

Pročitajte više o makronaredbi na roomos.cisco.com.

Je li taj članak bio koristan?
Je li taj članak bio koristan?