Transpile zastarelost na RoomOS-u
list-menuPovratne informacije?
Ažurirali smo naš JavaScript motor da bismo koristili KuickJS, koji služi kao moderno, ažurirano vreme rada JavaScript-a za ugrađene sisteme. Kao deo ovog poteza, sada planiramo da uklonimo podršku za transpilaciju JavaScript-a na našoj platformi.

Promene JavaScript koda u RooMOS makronaredbi

Ažurirali smo mašine koje pokreću makronaredbe na RoomOS-u, a kao rezultat ovih ažuriranja neke JavaScript konvencije i funkcije više neće biti dostupne makroima. Konkretno, funkcije povezane sa CommonJS više nisu dostupne. Neki uobičajeni primeri koda kojima je potrebno prepisivanje su:

  1. require(), uključujući:
    • require('xapi')- potrebno je prepisivanje na standardni EC importMAScript. Na primer, const xapi = require('xapi')promenjeno u import xapi from 'xapi'
    • require.main
  2. module, uključujući:
    • module.exports- potrebno je prepisivanje na standardni ECMAScript export
    • module.name- treba zameniti sa _main_module_name()

Kako se ovo uključuje i isključuje?

Ove promene stupaju na snagu kada xConfiguration Macros EvaluateTranspiledse prebaci sa Truena False. Ova postavka je prisutna već duže vreme i promena se izvodi promenom podrazumevane vrednosti u novim izdanjima od Truedo False.

Ako makronaredbe prekinu ovu promenu, eksplicitno podešavanje preklopnika nazad (xConfiguration Macros EvaluateTranspiled: True) je kratkoročno rešenje kako bi funkcionisale kao i ranije. Imajte na umu, međutim, da je ovo samo privremeno rešenje: Ovaj prekidač će nestati nakon prelaznog perioda.

Slično tome, na starijim verzijama RooMOS ova promena se može testirati bez nadogradnje podešavanjem prekidača na. False

Napomena: Ako se makro sačuva na uređaju dok je prekidač Falsei kasnije odlučite da ga vratite True, možda će biti potrebno ponovno sačuvati te makronaredbe u uređivaču makronaredbi.

Kada će ove promene stupiti na snagu?

Podrazumevana vrednost preklopnika promenjena EvaluateTranspiledje u Falsepočevši od RoOMOS-a maja 2025. (11.28), što znači da će se uređaji podrazumevano prebaciti kada se nadograđuju. U istoj verziji korak transpilacije prilikom čuvanja makronaredbi preko KSPI-ja je podrazumevano isključen. Ako je transpiracija potrebna kroz XAPI, opcija transpile komande mora biti eksplicitno postavljena na true.

Počevši od RoOMOS-a jula 2025. godine (11.30) dijagnostika će se prikazati kada je prekidač podešen na. True I dalje će raditi kao i ranije.

Napred, prekidač će biti potpuno uklonjen i uređaj će se ponašati kao da je postavljen na False. Cilj nam je da ovu promenu uvedemo u RoOMos-u novembru 2026. godine (27.0).

Svi kupci koji, uprkos našim najboljim naporima u pokušaju da obaveštavamo i informišemo o promenama, vide da njihovi makronaredbi ne uspevaju kada su promene trajno uspostavljene u RoomOS-u, i dalje mogu da koriste (do) 6-mesečno odloženo ažuriranje softvera koje se pruža preko Control Hub za uređaje registrovane u oblaku da bi odložili promenu.

Zašto je to neophodno? Tehnički detalji

Glavni pokretač ove promene je taj što smo ažurirali naš JavaScript motor da bismo koristili KuickJS, koji služi kao moderno, ažurirano vreme rada JavaScript-a za ugrađene sisteme. Nakon toga, pošto više nije potreban sa modernim JavaScript motorom, sada uklanjamo podršku za transpilaciju JavaScript-a. Uklanjanje dodatnog koraka uklanjanja celog koda smanjuje vreme učitavanja prilikom postavljanja i izvršavanja koda, kao i smanjuje složenost na platformi.

Prekidač JavaScript motora se kontroliše xConfiguration Macros QuickJSEngine: Offpromenom u On. Ova promena je uvedena u RoOMos-u decembru 2023. (11.11), a planiramo da uklonimo ovaj prekidač konfiguracije na istoj vremenskoj liniji kao. EvaluateTranspiled

Ove promene radimo kako bismo osigurali da RooMOS radi maksimalno i da vam možemo pomoći da skalirate implementaciju JavaScript ekstenzija na efikasan i siguran način.

Pročitajte više o makroima na room os.cisco.com.

Da li je ovaj članak bio koristan?
Da li je ovaj članak bio koristan?