Transpile zastarelost na RoomOS
list-menuPovratne informacije?
Naš JavaScript motor smo posodobili za uporabo QuickJS, ki služi kot sodoben, posodobljen izvajalec JavaScript za vgrajene sisteme. V okviru te poteze zdaj nameravamo odstraniti podporo za transpilacijo JavaScripta na naši platformi.

Spremembe kode JavaScript v makrih RooMOS

Posodobili smo stroje, ki izvajajo makre na RoomOS, in zaradi teh posodobitev nekatere konvencije in funkcije JavaScript ne bodo več na voljo makrom. Zlasti funkcije, povezane s CommonJS, niso več na voljo. Nekateri pogosti primeri kode, ki jih je treba prepisati, so:

  1. require(), vključno z:
    • require('xapi')- potrebuje prepisovanje na standardni EC importMAScript. Npr. const xapi = require('xapi')spremenjeno v import xapi from 'xapi'
    • require.main
  2. module, vključno z:
    • module.exports- potrebuje prepisovanje na standardni ECMAScript export
    • module.name- je treba nadomestiti z _main_module_name()

Kako je to vklopljeno in izklopljeno?

Te spremembe začnejo veljati, ko xConfiguration Macros EvaluateTranspiledse preklopi iz Truena False. Ta nastavitev je prisotna že dolgo in sprememba se izvede s spreminjanjem privzete vrednosti v novih izdajah od Truedo False.

Če se makri prekinejo s to spremembo, je izrecna nastavitev preklopa nazaj (xConfiguration Macros EvaluateTranspiled: True) kratkoročna rešitev, da bodo delovali kot prej. Upoštevajte pa, da je to le začasna rešitev: ta preklop bo izginil po prehodnem obdobju.

Podobno je v starejših različicah RoomOS to spremembo mogoče preizkusiti brez nadgradnje tako, da nastavite preklop na. False

O pomba: Če je makro shranjen v napravi, med tem ko je preklop, Falsein se pozneje odločite, da ga preklopite nazaj True, bo morda potrebno ponovno shraniti te makre v urejevalniku makrov.

Kdaj bodo te spremembe začele veljati?

Privzeta vrednost EvaluateTranspiledpreklopa je bila spremenjena na Falsezačetek z RoomOS maja 2025 (11.28), kar pomeni, da se bodo naprave privzeto preklopili ob nadgradnji. V isti različici je korak transpilacije pri shranjevanju makrov prek XAPI privzeto izklopljen. Če je transpiracija potrebna prek XAPI, mora biti možnost ukaza transpile izrecno nastavljena na true.

Začenši z RoomOS julijem 2025 (11.30) bo diagnostična diagnoza prikazana, ko je preklop nastavljen na. True Še vedno bo delovalo kot prej.

Če gremo naprej, bo preklop popolnoma odstranjen in naprava se bo obnašala, kot da bi bila nastavljena. False To spremembo želimo uvesti v RoomOS novembra 2026 (27. 0).

Vse stranke, ki kljub našim najboljšim prizadevanjem pri poskušanju obveščanja in obveščanja o spremembah vidijo, da njihovi makri ne uspejo, ko so spremembe trajno vzpostavljene v RoomOS, lahko še vedno uporabljajo (do) 6-mesečno zakasnjeno posodobitev programske opreme, ki je na voljo prek Control Hub za naprave, registrirane v oblaku, da odložijo spremembo.

Zakaj je to potrebno? Tehnične podrobnosti

Glavni gonilnik te spremembe je, da smo posodobili naš JavaScript motor za uporabo QuickJS, ki služi kot sodoben, posodobljen izvajalec JavaScript za vgrajene sisteme. Po tem, ker ni več potreben s sodobnim motorjem JavaScript, zdaj odstranjujemo podporo za transpilacijo JavaScripta. Odstranitev dodatnega koraka odstranjevanja vse kode skrajša čas nalaganja pri uvajanju in izvajanju kode ter zmanjša zapletenost na platformi.

Stikalo motorja JavaScript nadzira xConfiguration Macros QuickJSEngine: Offspremenjeno v On. Ta sprememba je bila uvedena v RoomOS decembra 2023 (11.11), ta preklop konfiguracije pa nameravamo odstraniti na isti časovnici kot. EvaluateTranspiled

Te spremembe izvajamo zato, da bi zagotovili največjo učinkovitost RoomOS in da vam lahko pomagamo razširiti uvedbo razširitev JavaScript na učinkovit in varen način.

Več o makrih preberite na roomos.cisco.com.

Ali je bil ta članek koristen?
Ali je bil ta članek koristen?