Transpilen vanhentuminen RoomOS:ssa
list-menuOnko sinulla palautetta?
Olemme päivittäneet JavaScript-moottorimme käyttämään QuickJS: ää, joka toimii nykyaikaisena, päivitettynä JavaScript-ajonaikana sulautetuille järjestelmille. Osana tätä siirtoa, aiomme nyt poistaa JavaScriptin transpilaation tuen alustallamme.

RoomOS-makrojen JavaScript-koodin muutokset

Olemme päivittäneet makroja käyttävän koneiston RoomOS:ssa, ja näiden päivitysten seurauksena jotkin JavaScript-käytännöt ja toiminnot eivät enää ole makrojen käytettävissä. Erityisesti CommonJS: ään liittyvät toiminnot eivät ole enää käytettävissä. Joitakin yleisiä esimerkkejä koodista, jotka tarvitsevat uudelleenkirjoittamista, ovat:

  1. require(), mukaan lukien:
    • require('xapi')- tarvitsee uudelleenkirjoituksen standardiin EC importMAScriptiin. Esimerkiksi, const xapi = require('xapi')muutettu muotoon import xapi from 'xapi'
    • require.main
  2. module, mukaan lukien:
    • module.exports- tarvitsee uudelleenkirjoituksen standardiin ECMAScriptiin export
    • module.name- olisi korvattava _main_module_name()

Kuinka tämä kytketään päälle ja pois?

Nämä muutokset tulevat voimaan, kun xConfiguration Macros EvaluateTranspiledne on vaihdettu Truekohtaan False. Tämä asetus on ollut olemassa jo pitkään, ja muutos otetaan käyttöön muuttamalla uusien julkaisujen oletusarvo arvo Truesta False.

Jos makrot rikkoutuvat tämän muutoksen yhteydessä, vaihdon takaisin (xConfiguration Macros EvaluateTranspiled: True) asettaminen nimenomaisesti on lyhytaikainen korjaus, jotta ne toimisivat entiseen tapaan. Huomaa, kuitenkin, että tämä on vain väliaikainen ratkaisu: Tämä kyt kin poistuu siirtymäkauden jälkeen.

samoin, vanhemmissa RoomOS-versioissa tämä muutos voidaan testata päivittämättä asettamalla kytkin asetukseen False.

Huom autus: Jos makro tallennetaan laitteeseen, kun kytkin on käytössä, Falseja päätät myöhemmin kääntää kytkimen takaisin asentoon True, näiden makrojen tallentaminen uudelleen makroeditorissa voi olla tarpeen.

Milloin nämä muutokset tulevat voimaan?

Vaihtimen oletusarvo muut EvaluateTranspiledettiin Falsealoittamaan RoomOS toukokuussa 2025 (11.28), mikä tarkoittaa, että laitteet vaihtuvat oletusarvoisesti päivitettäessä. Samassa versiossa transpilaatiovaihe makroja tallennettaessa XAPI: n kautta on oletusarvoisesti pois päältä. Jos transpilaatiota vaaditaan XAPI: n kautta, transpile-komentovaihtoehto on asetettava eksplisiittisesti arvoon true.

RoomOS: sta alkaen heinäkuu 2025 (11.30) diagnostiikka näkyy, kun kytkin on asetettu asetukseksi. True Se toimii edelleen kuten ennenkin.

Eteenpäin kytkin poistetaan kokonaan ja laite käyttäytyy ikään kuin se olisi asetettu asetukseksi False. Pyrimme ottamaan tämän muutoksen käyttöön RoomOS: ssä marraskuussa 2026 (27.0).

Kaikki asiakkaat, jotka huolimatta pyrkimyksistämme ilmoittaa muutoksista ja ilmoittaa niistä, huomaavat makronsa epäonnistuvan, kun muutokset ovat pysyvästi voimassa RoomOSissa, voivat silti viivästyttää muutosta viivästyttääkseen (enintään) 6 kuukauden viivästynyttä ohjelmistopäivitystä, joka toimitetaan Control Hubin kautta pilvirekisteröimille laitteille.

Miksi tämä on välttämätöntä? Tekniset yksityiskohdat

Tämän muutoksen tärkein ajuri on, että olemme päivittäneet JavaScript-moottorimme käyttämään QuickJS: ää, joka toimii nykyaikaisena, päivitettynä JavaScript-ajonaikana sulautetuille järjestelmille. Sen jälkeen, koska sitä ei enää tarvita nykyaikaisella JavaScript-moottorilla, poistamme nyt tuen JavaScriptin transpilaatiolle. Kaikkien koodien siirtämisen ylimääräisen vaiheen poistaminen lyhentää latausaikaa koodin käyttöönotossa ja suorittamisessa sekä vähentää alustan monimutkaisuutta.

JavaScript-moottorin kytkintä ohjataan xConfiguration Macros QuickJSEngine: Offmuuttamalla muotoon On. Tämä muutos otettiin käyttöön RoomOS: ssä joulukuussa 2023 (11.11), ja aiomme poistaa tämän kokoonpanokytkimen samalla aikajanalla kuin. EvaluateTranspiled

Teemme nämä muutokset varmistaaksemme, että RoomOS toimii maksimaalisesti, ja että voimme auttaa sinua skaalaamaan JavaScript-laajennusten käyttöönoton tehokkaalla ja turvallisella tavalla.

Lue lisää makroista osoitteessa room os.cisco.com.

Oliko tästä artikkelista apua?
Oliko tästä artikkelista apua?